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 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 EXPECT_FALSE(OpenDocument("bug_298.pdf")); | 209 EXPECT_FALSE(OpenDocument("bug_298.pdf")); |
210 } | 210 } |
211 | 211 |
212 // Test if the document opens without infinite looping. | 212 // Test if the document opens without infinite looping. |
213 // Previously this test will hang in a loop inside LoadAllCrossRefV4. After | 213 // Previously this test will hang in a loop inside LoadAllCrossRefV4. After |
214 // the fix, LoadAllCrossRefV4 will return false after detecting a cross | 214 // the fix, LoadAllCrossRefV4 will return false after detecting a cross |
215 // reference loop. Cross references will be rebuilt successfully. | 215 // reference loop. Cross references will be rebuilt successfully. |
216 TEST_F(FPDFViewEmbeddertest, CrossRefV4Loop) { | 216 TEST_F(FPDFViewEmbeddertest, CrossRefV4Loop) { |
217 EXPECT_TRUE(OpenDocument("bug_xrefv4_loop.pdf")); | 217 EXPECT_TRUE(OpenDocument("bug_xrefv4_loop.pdf")); |
218 } | 218 } |
| 219 |
| 220 // The test should pass when circular references to ParseIndirectObject will not |
| 221 // cause infinite loop. |
| 222 TEST_F(FPDFViewEmbeddertest, Hang_343) { |
| 223 EXPECT_FALSE(OpenDocument("bug_343.pdf")); |
| 224 } |
OLD | NEW |