You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2022/06/01 05:46:58 UTC

svn commit: r1901474 - /pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/ttf/RandomAccessReadBufferDataStreamTest.java

Author: lehmi
Date: Wed Jun  1 05:46:58 2022
New Revision: 1901474

URL: http://svn.apache.org/viewvc?rev=1901474&view=rev
Log:
PDFBOX-5435: add tests

Modified:
    pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/ttf/RandomAccessReadBufferDataStreamTest.java

Modified: pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/ttf/RandomAccessReadBufferDataStreamTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/ttf/RandomAccessReadBufferDataStreamTest.java?rev=1901474&r1=1901473&r2=1901474&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/ttf/RandomAccessReadBufferDataStreamTest.java (original)
+++ pdfbox/trunk/fontbox/src/test/java/org/apache/fontbox/ttf/RandomAccessReadBufferDataStreamTest.java Wed Jun  1 05:46:58 2022
@@ -18,9 +18,11 @@ package org.apache.fontbox.ttf;
 
 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.BufferedOutputStream;
+import java.io.EOFException;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -43,11 +45,10 @@ class RandomAccessReadBufferDataStreamTe
     {
         byte[] byteArray = new byte[10];
         RandomAccessReadBuffer randomAccessReadBuffer = new RandomAccessReadBuffer(byteArray);
-        RandomAccessReadDataStream dataStream = new RandomAccessReadDataStream(
-                randomAccessReadBuffer);
-        int value = dataStream.read();
-        try
+        try (RandomAccessReadDataStream dataStream = new RandomAccessReadDataStream(
+                randomAccessReadBuffer))
         {
+            int value = dataStream.read();
             while (value > -1)
             {
                 value = dataStream.read();
@@ -57,12 +58,47 @@ class RandomAccessReadBufferDataStreamTe
         {
             fail("EOF not detected!");
         }
-        finally
+    }
+
+    @Test
+    void testEOFUnsignedShort() throws IOException
+    {
+        byte[] byteArray = new byte[3];
+        RandomAccessReadBuffer randomAccessReadBuffer = new RandomAccessReadBuffer(byteArray);
+        try(RandomAccessReadDataStream dataStream = new RandomAccessReadDataStream(
+                randomAccessReadBuffer))
+        {
+            dataStream.readUnsignedShort();
+            assertThrows(EOFException.class, () -> dataStream.readUnsignedShort());
+        }
+    }
+
+    @Test
+    void testEOFUnsignedInt() throws IOException
+    {
+        byte[] byteArray = new byte[5];
+        RandomAccessReadBuffer randomAccessReadBuffer = new RandomAccessReadBuffer(byteArray);
+        try (RandomAccessReadDataStream dataStream = new RandomAccessReadDataStream(
+                randomAccessReadBuffer))
         {
-            dataStream.close();
+            dataStream.readUnsignedInt();
+            assertThrows(EOFException.class, () -> dataStream.readUnsignedInt());
         }
     }
 
+    @Test
+    void testEOFUnsignedByte() throws IOException
+    {
+        byte[] byteArray = new byte[2];
+        RandomAccessReadBuffer randomAccessReadBuffer = new RandomAccessReadBuffer(byteArray);
+        try (RandomAccessReadDataStream dataStream = new RandomAccessReadDataStream(
+                randomAccessReadBuffer))
+        {
+            dataStream.readUnsignedByte();
+            dataStream.readUnsignedByte();
+            assertThrows(EOFException.class, () -> dataStream.readUnsignedByte());
+        }
+    }
     /**
      * Test of PDFBOX-4242: make sure that the Closeable.close() contract is fulfilled.
      *