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