mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Delete disabled test ImageDecoderFixtureTest.CanResizeWithoutDecode (flutter/engine#34945)
This commit is contained in:
parent
2452603d31
commit
135c71aef7
@ -460,92 +460,6 @@ TEST_F(ImageDecoderFixtureTest, CanDecodeWithResizes) {
|
||||
PostTaskSync(runners.GetUITaskRunner(), [&]() { image_decoder.reset(); });
|
||||
}
|
||||
|
||||
// TODO(https://github.com/flutter/flutter/issues/81232) - disabled due to
|
||||
// flakiness
|
||||
TEST_F(ImageDecoderFixtureTest, DISABLED_CanResizeWithoutDecode) {
|
||||
SkImageInfo info = {};
|
||||
size_t row_bytes;
|
||||
sk_sp<SkData> decompressed_data;
|
||||
SkISize image_dimensions = SkISize::MakeEmpty();
|
||||
{
|
||||
auto image =
|
||||
SkImage::MakeFromEncoded(OpenFixtureAsSkData("DashInNooglerHat.jpg"))
|
||||
->makeRasterImage();
|
||||
image_dimensions = image->dimensions();
|
||||
SkPixmap pixmap;
|
||||
ASSERT_TRUE(image->peekPixels(&pixmap));
|
||||
info = SkImageInfo::MakeN32Premul(image_dimensions);
|
||||
row_bytes = pixmap.rowBytes();
|
||||
decompressed_data =
|
||||
SkData::MakeWithCopy(pixmap.writable_addr(), pixmap.computeByteSize());
|
||||
}
|
||||
|
||||
// This is not susceptible to changes in the underlying image decoder.
|
||||
ASSERT_EQ(decompressed_data->size(), 48771072u);
|
||||
ASSERT_EQ(decompressed_data->size(),
|
||||
image_dimensions.width() * image_dimensions.height() * 4u);
|
||||
ASSERT_EQ(row_bytes, image_dimensions.width() * 4u);
|
||||
ASSERT_FALSE(image_dimensions.isEmpty());
|
||||
ASSERT_NE(image_dimensions.width(), image_dimensions.height());
|
||||
|
||||
auto loop = fml::ConcurrentMessageLoop::Create();
|
||||
TaskRunners runners(GetCurrentTestName(), // label
|
||||
CreateNewThread("platform"), // platform
|
||||
CreateNewThread("raster"), // raster
|
||||
CreateNewThread("ui"), // ui
|
||||
CreateNewThread("io") // io
|
||||
);
|
||||
|
||||
fml::AutoResetWaitableEvent latch;
|
||||
std::unique_ptr<IOManager> io_manager;
|
||||
std::unique_ptr<ImageDecoder> image_decoder;
|
||||
|
||||
// Setup the IO manager.
|
||||
PostTaskSync(runners.GetIOTaskRunner(), [&]() {
|
||||
io_manager = std::make_unique<TestIOManager>(runners.GetIOTaskRunner());
|
||||
});
|
||||
|
||||
// Setup the image decoder.
|
||||
PostTaskSync(runners.GetUITaskRunner(), [&]() {
|
||||
Settings settings;
|
||||
image_decoder = ImageDecoder::Make(settings, runners, loop->GetTaskRunner(),
|
||||
io_manager->GetWeakIOManager());
|
||||
});
|
||||
|
||||
// Setup a generic decoding utility that gives us the final decoded size.
|
||||
auto decoded_size = [&](uint32_t target_width,
|
||||
uint32_t target_height) -> SkISize {
|
||||
SkISize final_size = SkISize::MakeEmpty();
|
||||
runners.GetUITaskRunner()->PostTask([&]() {
|
||||
ASSERT_TRUE(decompressed_data);
|
||||
ASSERT_GE(decompressed_data->size(), 0u);
|
||||
|
||||
auto descriptor = fml::MakeRefCounted<ImageDescriptor>(decompressed_data,
|
||||
info, row_bytes);
|
||||
|
||||
ImageDecoder::ImageResult callback = [&](sk_sp<DlImage> image) {
|
||||
ASSERT_TRUE(runners.GetUITaskRunner()->RunsTasksOnCurrentThread());
|
||||
ASSERT_TRUE(image && image->skia_image());
|
||||
final_size = image->skia_image()->dimensions();
|
||||
latch.Signal();
|
||||
};
|
||||
image_decoder->Decode(descriptor, target_width, target_height, callback);
|
||||
});
|
||||
latch.Wait();
|
||||
return final_size;
|
||||
};
|
||||
|
||||
ASSERT_EQ(SkISize::Make(3024, 4032), image_dimensions);
|
||||
ASSERT_EQ(decoded_size(3024, 4032), image_dimensions);
|
||||
ASSERT_EQ(decoded_size(100, 100), SkISize::Make(100, 100));
|
||||
|
||||
// Destroy the IO manager
|
||||
PostTaskSync(runners.GetIOTaskRunner(), [&]() { io_manager.reset(); });
|
||||
|
||||
// Destroy the image decoder
|
||||
PostTaskSync(runners.GetUITaskRunner(), [&]() { image_decoder.reset(); });
|
||||
}
|
||||
|
||||
// Verifies https://skia-review.googlesource.com/c/skia/+/259161 is present in
|
||||
// Flutter.
|
||||
TEST(ImageDecoderTest,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user