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.
*