| Index: Source/WebKit/chromium/tests/GIFImageDecoderTest.cpp
|
| diff --git a/Source/WebKit/chromium/tests/GIFImageDecoderTest.cpp b/Source/WebKit/chromium/tests/GIFImageDecoderTest.cpp
|
| index f2486e36c9d2d118aab253a8eb86408812b7d32e..e7e7172fde2ff5c1674af90bc0e2a7fc429499de 100644
|
| --- a/Source/WebKit/chromium/tests/GIFImageDecoderTest.cpp
|
| +++ b/Source/WebKit/chromium/tests/GIFImageDecoderTest.cpp
|
| @@ -241,6 +241,62 @@ TEST(GIFImageDecoderTest, progressiveDecode)
|
| EXPECT_TRUE(match);
|
| }
|
|
|
| +TEST(GIFImageDecoderTest, allDataReceivedTruncation)
|
| +{
|
| + OwnPtr<GIFImageDecoder> decoder(createDecoder());
|
| +
|
| + RefPtr<SharedBuffer> data = readFile("/LayoutTests/fast/images/resources/animated.gif");
|
| + ASSERT_TRUE(data.get());
|
| +
|
| + ASSERT_GE(data->size(), 10u);
|
| + RefPtr<SharedBuffer> tempData = SharedBuffer::create(data->data(), data->size() - 10);
|
| + decoder->setData(tempData.get(), true);
|
| +
|
| + EXPECT_EQ(2u, decoder->frameCount());
|
| + EXPECT_FALSE(decoder->failed());
|
| +
|
| + decoder->frameBufferAtIndex(0);
|
| + EXPECT_FALSE(decoder->failed());
|
| + decoder->frameBufferAtIndex(1);
|
| + EXPECT_TRUE(decoder->failed());
|
| +}
|
| +
|
| +TEST(GIFImageDecoderTest, frameIsComplete)
|
| +{
|
| + OwnPtr<GIFImageDecoder> decoder(createDecoder());
|
| +
|
| + RefPtr<SharedBuffer> data = readFile("/LayoutTests/fast/images/resources/animated.gif");
|
| + ASSERT_TRUE(data.get());
|
| + decoder->setData(data.get(), true);
|
| +
|
| + EXPECT_EQ(2u, decoder->frameCount());
|
| + EXPECT_FALSE(decoder->failed());
|
| + EXPECT_TRUE(decoder->frameIsCompleteAtIndex(0));
|
| + EXPECT_TRUE(decoder->frameIsCompleteAtIndex(1));
|
| +}
|
| +
|
| +TEST(GIFImageDecoderTest, frameIsCompleteLoading)
|
| +{
|
| + OwnPtr<GIFImageDecoder> decoder(createDecoder());
|
| +
|
| + RefPtr<SharedBuffer> data = readFile("/LayoutTests/fast/images/resources/animated.gif");
|
| + ASSERT_TRUE(data.get());
|
| +
|
| + ASSERT_GE(data->size(), 10u);
|
| + RefPtr<SharedBuffer> tempData = SharedBuffer::create(data->data(), data->size() - 10);
|
| + decoder->setData(tempData.get(), false);
|
| +
|
| + EXPECT_EQ(2u, decoder->frameCount());
|
| + EXPECT_FALSE(decoder->failed());
|
| + EXPECT_TRUE(decoder->frameIsCompleteAtIndex(0));
|
| + EXPECT_FALSE(decoder->frameIsCompleteAtIndex(1));
|
| +
|
| + decoder->setData(data.get(), true);
|
| + EXPECT_EQ(2u, decoder->frameCount());
|
| + EXPECT_TRUE(decoder->frameIsCompleteAtIndex(0));
|
| + EXPECT_TRUE(decoder->frameIsCompleteAtIndex(1));
|
| +}
|
| +
|
| #endif
|
|
|
| } // namespace
|
|
|