Chromium Code Reviews| Index: Source/WebKit/chromium/tests/GIFImageDecoderTest.cpp |
| diff --git a/Source/WebKit/chromium/tests/GIFImageDecoderTest.cpp b/Source/WebKit/chromium/tests/GIFImageDecoderTest.cpp |
| index 8e2bd157a6b698d796b4175c53f48d57ffd53da1..11947fada3143f65f196524e6353810f7edc3587 100644 |
| --- a/Source/WebKit/chromium/tests/GIFImageDecoderTest.cpp |
| +++ b/Source/WebKit/chromium/tests/GIFImageDecoderTest.cpp |
| @@ -241,6 +241,60 @@ 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()); |
| + |
| + RefPtr<SharedBuffer> tempData = SharedBuffer::create(data->data(), data->size() - 10); |
|
Peter Kasting
2013/04/23 21:43:20
Maybe we should ASSERT_GE(data->size(), 10U) befor
Alpha Left Google
2013/04/25 23:02:44
Done.
|
| + 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()); |
| + |
| + 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 |