|
3 | 3 | namespace setasign\Fpdi\functional\PdfReader;
|
4 | 4 |
|
5 | 5 | use PHPUnit\Framework\TestCase;
|
6 |
| -use Prophecy\Exception\InvalidArgumentException; |
7 | 6 | use setasign\Fpdi\PdfParser\CrossReference\CrossReferenceException;
|
8 | 7 | use setasign\Fpdi\PdfParser\PdfParser;
|
9 | 8 | use setasign\Fpdi\PdfParser\StreamReader;
|
|
14 | 13 | use setasign\Fpdi\PdfParser\Type\PdfIndirectObjectReference;
|
15 | 14 | use setasign\Fpdi\PdfParser\Type\PdfName;
|
16 | 15 | use setasign\Fpdi\PdfParser\Type\PdfNumeric;
|
17 |
| -use setasign\Fpdi\PdfParser\Type\PdfType; |
18 | 16 | use setasign\Fpdi\PdfReader\PdfReader;
|
19 |
| -use setasign\Fpdi\PdfReader\PdfReaderException; |
20 | 17 |
|
21 | 18 | class PdfReaderTest extends TestCase
|
22 | 19 | {
|
@@ -1072,84 +1069,4 @@ public function testHandlingOfEncryptedPdfWithCompressedXref()
|
1072 | 1069 | $this->expectExceptionCode(CrossReferenceException::ENCRYPTED);
|
1073 | 1070 | $pdfReader->getPageCount();
|
1074 | 1071 | }
|
1075 |
| - |
1076 |
| - public function testHandlingOfRecursivePageTreeStructure() |
1077 |
| - { |
1078 |
| - $parser = ( |
1079 |
| - $this->getMockBuilder(PdfParser::class) |
1080 |
| - ->setMethods(['getCatalog', 'getIndirectObject']) |
1081 |
| - ->disableOriginalConstructor() |
1082 |
| - ->getMock() |
1083 |
| - ); |
1084 |
| - |
1085 |
| - $pages1 = PdfIndirectObject::create(2, 0, PdfDictionary::create([ |
1086 |
| - 'Type' => PdfName::create('Pages'), |
1087 |
| - 'Count' => PdfNumeric::create(1), |
1088 |
| - 'Kids' => PdfArray::create([PdfIndirectObjectReference::create(3, 0)]) |
1089 |
| - ])); |
1090 |
| - $pages2 = PdfIndirectObject::create(3, 0, PdfDictionary::create([ |
1091 |
| - 'Type' => PdfName::create('Pages'), |
1092 |
| - 'Parent' => PdfIndirectObjectReference::create(2, 0), |
1093 |
| - 'Count' => PdfNumeric::create(1), |
1094 |
| - 'Kids' => PdfArray::create([PdfIndirectObjectReference::create(2, 0)]) |
1095 |
| - ])); |
1096 |
| - $parser->method('getIndirectObject')->willReturnMap([ |
1097 |
| - [2, false, $pages1], |
1098 |
| - [3, false, $pages2], |
1099 |
| - ]); |
1100 |
| - |
1101 |
| - $parser->method('getCatalog')->willReturn(PdfDictionary::create([ |
1102 |
| - 'Pages' => PdfDictionary::create([ |
1103 |
| - 'Count' => PdfNumeric::create(1), |
1104 |
| - 'Kids' => PdfArray::create([PdfIndirectObjectReference::create(2, 0)]) |
1105 |
| - ]) |
1106 |
| - ])); |
1107 |
| - |
1108 |
| - $pdfReader = new PdfReader($parser); |
1109 |
| - $this->assertEquals(1, $pdfReader->getPageCount()); |
1110 |
| - |
1111 |
| - $this->expectException(PdfReaderException::class); |
1112 |
| - $this->expectExceptionMessage('Recursive pages dictionary detected.'); |
1113 |
| - $pdfReader->getPage(1); |
1114 |
| - } |
1115 |
| - |
1116 |
| - public function testHandlingOfRecursivePageTreeStructureWhenFullTreeIsRead() |
1117 |
| - { |
1118 |
| - $parser = ( |
1119 |
| - $this->getMockBuilder(PdfParser::class) |
1120 |
| - ->setMethods(['getCatalog', 'getIndirectObject']) |
1121 |
| - ->disableOriginalConstructor() |
1122 |
| - ->getMock() |
1123 |
| - ); |
1124 |
| - |
1125 |
| - $pages1 = PdfIndirectObject::create(2, 0, PdfDictionary::create([ |
1126 |
| - 'Type' => PdfName::create('Pages'), |
1127 |
| - 'Count' => PdfNumeric::create(3), |
1128 |
| - 'Kids' => PdfArray::create([PdfIndirectObjectReference::create(3, 0)]) |
1129 |
| - ])); |
1130 |
| - $pages2 = PdfIndirectObject::create(3, 0, PdfDictionary::create([ |
1131 |
| - 'Type' => PdfName::create('Pages'), |
1132 |
| - 'Parent' => PdfIndirectObjectReference::create(2, 0), |
1133 |
| - 'Count' => PdfNumeric::create(2), |
1134 |
| - 'Kids' => PdfArray::create([PdfIndirectObjectReference::create(2, 0)]) |
1135 |
| - ])); |
1136 |
| - $parser->method('getIndirectObject')->willReturnMap([ |
1137 |
| - [2, false, $pages1], |
1138 |
| - [3, false, $pages2], |
1139 |
| - ]); |
1140 |
| - |
1141 |
| - $parser->method('getCatalog')->willReturn(PdfDictionary::create([ |
1142 |
| - 'Pages' => PdfDictionary::create([ |
1143 |
| - 'Count' => PdfNumeric::create(5), |
1144 |
| - 'Kids' => PdfArray::create([PdfIndirectObjectReference::create(2, 0)]) |
1145 |
| - ]) |
1146 |
| - ])); |
1147 |
| - |
1148 |
| - $pdfReader = new PdfReader($parser); |
1149 |
| - $this->assertEquals(5, $pdfReader->getPageCount()); |
1150 |
| - |
1151 |
| - $this->expectException(PdfReaderException::class); |
1152 |
| - $this->expectExceptionMessage('Recursive pages dictionary detected.'); |
1153 |
| - $pdfReader->getPage(1); |
1154 |
| - } |
1155 | 1072 | }
|
0 commit comments