1 // Copyright 2015 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "testing/embedder_test.h"
6 #include "testing/gtest/include/gtest/gtest.h"
7 
8 class FPDFParserEmbeddertest : public EmbedderTest {};
9 
TEST_F(FPDFParserEmbeddertest,LoadError_454695)10 TEST_F(FPDFParserEmbeddertest, LoadError_454695) {
11   // Test a dictionary with hex string instead of correct content.
12   // Verify that the defective pdf shouldn't be opened correctly.
13   EXPECT_FALSE(OpenDocument("bug_454695.pdf"));
14 }
15 
TEST_F(FPDFParserEmbeddertest,Bug_481363)16 TEST_F(FPDFParserEmbeddertest, Bug_481363) {
17   // Test colorspace object with malformed dictionary.
18   EXPECT_TRUE(OpenDocument("bug_481363.pdf"));
19   FPDF_PAGE page = LoadPage(0);
20   EXPECT_NE(nullptr, page);
21   UnloadPage(page);
22 }
23 
TEST_F(FPDFParserEmbeddertest,Bug_544880)24 TEST_F(FPDFParserEmbeddertest, Bug_544880) {
25   // Test self referencing /Pages object.
26   EXPECT_TRUE(OpenDocument("bug_544880.pdf"));
27   // Shouldn't crash. We don't check the return value here because we get the
28   // the count from the "/Count 1" in the testcase (at the time of writing)
29   // rather than the actual count (0).
30   (void)GetPageCount();
31 }
32 
TEST_F(FPDFParserEmbeddertest,Feature_Linearized_Loading)33 TEST_F(FPDFParserEmbeddertest, Feature_Linearized_Loading) {
34   EXPECT_TRUE(OpenDocument("feature_linearized_loading.pdf", true));
35 }
36 
TEST_F(FPDFParserEmbeddertest,Bug_325)37 TEST_F(FPDFParserEmbeddertest, Bug_325) {
38   EXPECT_FALSE(OpenDocument("bug_325_a.pdf"));
39   EXPECT_FALSE(OpenDocument("bug_325_b.pdf"));
40 }
41