| OLD | NEW |
| 1 // Copyright 2015 PDFium Authors. All rights reserved. | 1 // Copyright 2015 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <limits> | 5 #include <limits> |
| 6 #include <string> | 6 #include <string> |
| 7 | 7 |
| 8 #include "fpdfsdk/src/fpdfview_c_api_test.h" | 8 #include "fpdfsdk/src/fpdfview_c_api_test.h" |
| 9 #include "public/fpdfview.h" | 9 #include "public/fpdfview.h" |
| 10 #include "testing/embedder_test.h" | 10 #include "testing/embedder_test.h" |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 | 197 |
| 198 TEST_F(FPDFViewEmbeddertest, Crasher_454695) { | 198 TEST_F(FPDFViewEmbeddertest, Crasher_454695) { |
| 199 // Document is damaged and can't be opened. | 199 // Document is damaged and can't be opened. |
| 200 EXPECT_FALSE(OpenDocument("bug_454695.pdf")); | 200 EXPECT_FALSE(OpenDocument("bug_454695.pdf")); |
| 201 } | 201 } |
| 202 | 202 |
| 203 TEST_F(FPDFViewEmbeddertest, Crasher_572871) { | 203 TEST_F(FPDFViewEmbeddertest, Crasher_572871) { |
| 204 EXPECT_TRUE(OpenDocument("bug_572871.pdf")); | 204 EXPECT_TRUE(OpenDocument("bug_572871.pdf")); |
| 205 } | 205 } |
| 206 | 206 |
| 207 // It tests that document can still be loaded even the trailer has no 'Size' |
| 208 // field if other information is right. |
| 209 TEST_F(FPDFViewEmbeddertest, Failed_213) { |
| 210 EXPECT_TRUE(OpenDocument("bug_213.pdf")); |
| 211 } |
| 212 |
| 207 // The following tests pass if the document opens without infinite looping. | 213 // The following tests pass if the document opens without infinite looping. |
| 208 TEST_F(FPDFViewEmbeddertest, Hang_298) { | 214 TEST_F(FPDFViewEmbeddertest, Hang_298) { |
| 209 EXPECT_FALSE(OpenDocument("bug_298.pdf")); | 215 EXPECT_FALSE(OpenDocument("bug_298.pdf")); |
| 210 } | 216 } |
| 211 | 217 |
| 212 // Test if the document opens without infinite looping. | 218 // Test if the document opens without infinite looping. |
| 213 // Previously this test will hang in a loop inside LoadAllCrossRefV4. After | 219 // Previously this test will hang in a loop inside LoadAllCrossRefV4. After |
| 214 // the fix, LoadAllCrossRefV4 will return false after detecting a cross | 220 // the fix, LoadAllCrossRefV4 will return false after detecting a cross |
| 215 // reference loop. Cross references will be rebuilt successfully. | 221 // reference loop. Cross references will be rebuilt successfully. |
| 216 TEST_F(FPDFViewEmbeddertest, CrossRefV4Loop) { | 222 TEST_F(FPDFViewEmbeddertest, CrossRefV4Loop) { |
| 217 EXPECT_TRUE(OpenDocument("bug_xrefv4_loop.pdf")); | 223 EXPECT_TRUE(OpenDocument("bug_xrefv4_loop.pdf")); |
| 218 } | 224 } |
| 219 | 225 |
| 220 // The test should pass when circular references to ParseIndirectObject will not | 226 // The test should pass when circular references to ParseIndirectObject will not |
| 221 // cause infinite loop. | 227 // cause infinite loop. |
| 222 TEST_F(FPDFViewEmbeddertest, Hang_343) { | 228 TEST_F(FPDFViewEmbeddertest, Hang_343) { |
| 223 EXPECT_FALSE(OpenDocument("bug_343.pdf")); | 229 EXPECT_FALSE(OpenDocument("bug_343.pdf")); |
| 224 } | 230 } |
| 225 | 231 |
| 226 // The test should pass when the absence of 'Contents' field in a signature | 232 // The test should pass when the absence of 'Contents' field in a signature |
| 227 // dictionary will not cause an infinite loop in CPDF_SyntaxParser::GetObject(). | 233 // dictionary will not cause an infinite loop in CPDF_SyntaxParser::GetObject(). |
| 228 TEST_F(FPDFViewEmbeddertest, Hang_344) { | 234 TEST_F(FPDFViewEmbeddertest, Hang_344) { |
| 229 EXPECT_FALSE(OpenDocument("bug_344.pdf")); | 235 EXPECT_FALSE(OpenDocument("bug_344.pdf")); |
| 230 } | 236 } |
| 231 | 237 |
| 232 // The test should pass even when the file has circular references to pages. | 238 // The test should pass even when the file has circular references to pages. |
| 233 TEST_F(FPDFViewEmbeddertest, Hang_360) { | 239 TEST_F(FPDFViewEmbeddertest, Hang_360) { |
| 234 EXPECT_FALSE(OpenDocument("bug_360.pdf")); | 240 EXPECT_FALSE(OpenDocument("bug_360.pdf")); |
| 235 } | 241 } |
| OLD | NEW |