| // Copyright 2015 PDFium Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #include <memory> | |
| #include "public/cpp/fpdf_scopers.h" | |
| #include "testing/embedder_test.h" | |
| #include "testing/gtest/include/gtest/gtest.h" | |
| class FPDFRenderLoadImageEmbedderTest : public EmbedderTest {}; | |
| TEST_F(FPDFRenderLoadImageEmbedderTest, Bug_554151) { | |
| // Test scanline downsampling with a BitsPerComponent of 4. | |
| // Should not crash. | |
| EXPECT_TRUE(OpenDocument("bug_554151.pdf")); | |
| FPDF_PAGE page = LoadPage(0); | |
| ASSERT_TRUE(page); | |
| ScopedFPDFBitmap bitmap = RenderLoadedPage(page); | |
| CompareBitmap(bitmap.get(), 612, 792, "1940568c9ba33bac5d0b1ee9558c76b3"); | |
| UnloadPage(page); | |
| } | |
| TEST_F(FPDFRenderLoadImageEmbedderTest, Bug_557223) { | |
| // Should not crash | |
| EXPECT_TRUE(OpenDocument("bug_557223.pdf")); | |
| FPDF_PAGE page = LoadPage(0); | |
| ASSERT_TRUE(page); | |
| ScopedFPDFBitmap bitmap = RenderLoadedPage(page); | |
| CompareBitmap(bitmap.get(), 24, 24, "dc0ea1b743c2edb22c597cadc8537f7b"); | |
| UnloadPage(page); | |
| } | |
| TEST_F(FPDFRenderLoadImageEmbedderTest, Bug_603518) { | |
| // Should not crash | |
| EXPECT_TRUE(OpenDocument("bug_603518.pdf")); | |
| FPDF_PAGE page = LoadPage(0); | |
| EXPECT_NE(nullptr, page); | |
| ScopedFPDFBitmap bitmap = RenderLoadedPage(page); | |
| CompareBitmap(bitmap.get(), 749, 749, "b9e75190cdc5edf0069a408744ca07dc"); | |
| UnloadPage(page); | |
| } | |
| TEST_F(FPDFRenderLoadImageEmbedderTest, Bug_1087) { | |
| EXPECT_TRUE(OpenDocument("bug_1087.pdf")); | |
| FPDF_PAGE page = LoadPage(0); | |
| ASSERT_TRUE(page); | |
| ScopedFPDFBitmap bitmap = RenderLoadedPage(page); | |
| CompareBitmap(bitmap.get(), 548, 238, "2aac40afa121feb0f38883cb04a55001"); | |
| UnloadPage(page); | |
| } |