@@ -1839,6 +1839,134 @@ public virtual void NotCloseUserStreamTest() {
18391839 }
18401840 }
18411841
1842+ [ NUnit . Framework . Test ]
1843+ [ LogMessage ( KernelExceptionMessageConstant . UNEXPECTED_TOKEN ) ]
1844+ public virtual void EndDicInsteadOfArrayClosingBracketTest ( ) {
1845+ String fileName = sourceFolder + "invalidArrayEndDictToken.pdf" ;
1846+ PdfDocument document = new PdfDocument ( new PdfReader ( fileName ) ) ;
1847+ PdfArray actual = ( PdfArray ) document . GetPdfObject ( 4 ) ;
1848+ PdfArray expected = new PdfArray ( new float [ ] { 5 , 10 , 15 , 20 } ) ;
1849+ for ( int i = 0 ; i < expected . Size ( ) ; i ++ ) {
1850+ NUnit . Framework . Assert . AreEqual ( expected . Get ( i ) , actual . Get ( i ) ) ;
1851+ }
1852+ }
1853+
1854+ [ NUnit . Framework . Test ]
1855+ public virtual void EndArrayClosingBracketInsteadOfEndDicTest ( ) {
1856+ String fileName = sourceFolder + "endArrayClosingBracketInsteadOfEndDic.pdf" ;
1857+ Exception exception = NUnit . Framework . Assert . Catch ( typeof ( iText . IO . IOException ) , ( ) => new PdfDocument ( new
1858+ PdfReader ( fileName ) ) ) ;
1859+ NUnit . Framework . Assert . AreEqual ( MessageFormatUtil . Format ( KernelExceptionMessageConstant . UNEXPECTED_TOKEN ,
1860+ "]" ) , exception . InnerException . Message ) ;
1861+ }
1862+
1863+ [ NUnit . Framework . Test ]
1864+ public virtual void EndDicClosingBracketInsideTheDicTest ( ) {
1865+ String fileName = sourceFolder + "endDicClosingBracketInsideTheDic.pdf" ;
1866+ Exception exception = NUnit . Framework . Assert . Catch ( typeof ( iText . IO . IOException ) , ( ) => new PdfDocument ( new
1867+ PdfReader ( fileName ) ) ) ;
1868+ NUnit . Framework . Assert . AreEqual ( MessageFormatUtil . Format ( KernelExceptionMessageConstant . UNEXPECTED_TOKEN ,
1869+ ">>" ) , exception . InnerException . Message ) ;
1870+ }
1871+
1872+ [ NUnit . Framework . Test ]
1873+ [ LogMessage ( KernelExceptionMessageConstant . UNEXPECTED_TOKEN ) ]
1874+ public virtual void EofInsteadOfArrayClosingBracketTest ( ) {
1875+ String fileName = sourceFolder + "invalidArrayEOFToken.pdf" ;
1876+ PdfDocument document = new PdfDocument ( new PdfReader ( fileName ) ) ;
1877+ PdfArray actual = ( PdfArray ) document . GetPdfObject ( 4 ) ;
1878+ PdfArray expected = new PdfArray ( new float [ ] { 5 , 10 , 15 , 20 } ) ;
1879+ for ( int i = 0 ; i < expected . Size ( ) ; i ++ ) {
1880+ NUnit . Framework . Assert . AreEqual ( expected . Get ( i ) , actual . Get ( i ) ) ;
1881+ }
1882+ }
1883+
1884+ [ NUnit . Framework . Test ]
1885+ [ LogMessage ( KernelExceptionMessageConstant . UNEXPECTED_TOKEN ) ]
1886+ public virtual void EndObjInsteadOfArrayClosingBracketTest ( ) {
1887+ String fileName = sourceFolder + "invalidArrayEndObjToken.pdf" ;
1888+ PdfDocument document = new PdfDocument ( new PdfReader ( fileName ) ) ;
1889+ PdfArray actual = ( PdfArray ) document . GetPdfObject ( 4 ) ;
1890+ PdfArray expected = new PdfArray ( new float [ ] { 5 , 10 , 15 , 20 } ) ;
1891+ for ( int i = 0 ; i < expected . Size ( ) ; i ++ ) {
1892+ NUnit . Framework . Assert . AreEqual ( expected . Get ( i ) , actual . Get ( i ) ) ;
1893+ }
1894+ }
1895+
1896+ [ NUnit . Framework . Test ]
1897+ [ LogMessage ( KernelExceptionMessageConstant . UNEXPECTED_TOKEN ) ]
1898+ [ LogMessage ( iText . IO . LogMessageConstant . XREF_ERROR_WHILE_READING_TABLE_WILL_BE_REBUILT ) ]
1899+ public virtual void NameInsteadOfArrayClosingBracketTest ( ) {
1900+ String fileName = sourceFolder + "invalidArrayNameToken.pdf" ;
1901+ PdfDocument document = new PdfDocument ( new PdfReader ( fileName ) ) ;
1902+ PdfArray actual = ( PdfArray ) document . GetPdfObject ( 4 ) ;
1903+ PdfArray expected = new PdfArray ( new float [ ] { 5 , 10 , 15 , 20 } ) ;
1904+ for ( int i = 0 ; i < expected . Size ( ) ; i ++ ) {
1905+ NUnit . Framework . Assert . AreEqual ( expected . Get ( i ) , actual . Get ( i ) ) ;
1906+ }
1907+ }
1908+
1909+ [ NUnit . Framework . Test ]
1910+ [ LogMessage ( KernelExceptionMessageConstant . UNEXPECTED_TOKEN ) ]
1911+ public virtual void ObjInsteadOfArrayClosingBracketTest ( ) {
1912+ String fileName = sourceFolder + "invalidArrayObjToken.pdf" ;
1913+ PdfDocument document = new PdfDocument ( new PdfReader ( fileName ) ) ;
1914+ PdfArray actual = ( PdfArray ) document . GetPdfObject ( 4 ) ;
1915+ PdfArray expected = new PdfArray ( new float [ ] { 5 , 10 , 15 , 20 } ) ;
1916+ for ( int i = 0 ; i < expected . Size ( ) ; i ++ ) {
1917+ NUnit . Framework . Assert . AreEqual ( expected . Get ( i ) , actual . Get ( i ) ) ;
1918+ }
1919+ }
1920+
1921+ [ NUnit . Framework . Test ]
1922+ [ LogMessage ( KernelExceptionMessageConstant . UNEXPECTED_TOKEN ) ]
1923+ public virtual void RefInsteadOfArrayClosingBracketTest ( ) {
1924+ String fileName = sourceFolder + "invalidArrayRefToken.pdf" ;
1925+ PdfDocument document = new PdfDocument ( new PdfReader ( fileName ) ) ;
1926+ PdfArray actual = ( PdfArray ) document . GetPdfObject ( 4 ) ;
1927+ PdfArray expected = new PdfArray ( new float [ ] { 5 , 10 , 15 , 20 } ) ;
1928+ for ( int i = 0 ; i < expected . Size ( ) ; i ++ ) {
1929+ NUnit . Framework . Assert . AreEqual ( expected . Get ( i ) , actual . Get ( i ) ) ;
1930+ }
1931+ }
1932+
1933+ [ NUnit . Framework . Test ]
1934+ [ LogMessage ( KernelExceptionMessageConstant . UNEXPECTED_TOKEN , Count = 2 ) ]
1935+ public virtual void StartArrayInsteadOfArrayClosingBracketTest ( ) {
1936+ String fileName = sourceFolder + "invalidArrayStartArrayToken.pdf" ;
1937+ PdfDocument document = new PdfDocument ( new PdfReader ( fileName ) ) ;
1938+ PdfArray actual = ( PdfArray ) document . GetPdfObject ( 4 ) ;
1939+ PdfArray expected = new PdfArray ( new float [ ] { 5 , 10 , 15 , 20 } ) ;
1940+ for ( int i = 0 ; i < expected . Size ( ) ; i ++ ) {
1941+ NUnit . Framework . Assert . AreEqual ( expected . Get ( i ) , actual . Get ( i ) ) ;
1942+ }
1943+ }
1944+
1945+ [ NUnit . Framework . Test ]
1946+ [ LogMessage ( KernelExceptionMessageConstant . UNEXPECTED_TOKEN ) ]
1947+ [ LogMessage ( iText . IO . LogMessageConstant . XREF_ERROR_WHILE_READING_TABLE_WILL_BE_REBUILT ) ]
1948+ public virtual void StringInsteadOfArrayClosingBracketTest ( ) {
1949+ String fileName = sourceFolder + "invalidArrayStringToken.pdf" ;
1950+ PdfDocument document = new PdfDocument ( new PdfReader ( fileName ) ) ;
1951+ PdfArray actual = ( PdfArray ) document . GetPdfObject ( 4 ) ;
1952+ PdfArray expected = new PdfArray ( new float [ ] { 5 , 10 , 15 , 20 } ) ;
1953+ for ( int i = 0 ; i < expected . Size ( ) ; i ++ ) {
1954+ NUnit . Framework . Assert . AreEqual ( expected . Get ( i ) , actual . Get ( i ) ) ;
1955+ }
1956+ }
1957+
1958+ [ NUnit . Framework . Test ]
1959+ public virtual void ClosingArrayBracketMissingConservativeTest ( ) {
1960+ String fileName = sourceFolder + "invalidArrayObjToken.pdf" ;
1961+ PdfReader reader = new PdfReader ( fileName ) ;
1962+ reader . SetStrictnessLevel ( PdfReader . StrictnessLevel . CONSERVATIVE ) ;
1963+ PdfDocument document = new PdfDocument ( reader ) ;
1964+ Exception exception = NUnit . Framework . Assert . Catch ( typeof ( iText . IO . IOException ) , ( ) => document . GetPdfObject
1965+ ( 4 ) ) ;
1966+ NUnit . Framework . Assert . AreEqual ( MessageFormatUtil . Format ( KernelExceptionMessageConstant . UNEXPECTED_TOKEN ,
1967+ "obj" ) , exception . InnerException . Message ) ;
1968+ }
1969+
18421970 private static FileInfo CopyFileForTest ( String fileName , String copiedFileName ) {
18431971 FileInfo copiedFile = new FileInfo ( copiedFileName ) ;
18441972 File . Copy ( System . IO . Path . Combine ( fileName ) , System . IO . Path . Combine ( copiedFileName ) ) ;
0 commit comments