Author: tilman
Date: Sat Nov  1 10:20:59 2025
New Revision: 1929452

Log:
PDFBOX-5660: close input, as suggested by Valery Bokov; closes #304

Modified:
   
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/GlyphSubstitutionTableTest.java

Modified: 
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/GlyphSubstitutionTableTest.java
==============================================================================
--- 
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/GlyphSubstitutionTableTest.java
    Sat Nov  1 08:39:02 2025        (r1929451)
+++ 
pdfbox/branches/3.0/fontbox/src/test/java/org/apache/fontbox/ttf/GlyphSubstitutionTableTest.java
    Sat Nov  1 10:20:59 2025        (r1929452)
@@ -22,6 +22,7 @@ import static org.junit.jupiter.api.Asse
 
 import java.io.BufferedReader;
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
@@ -51,38 +52,39 @@ class GlyphSubstitutionTableTest
     void testGetGsubData() throws IOException
     {
         // given
-        RandomAccessReadBuffer randomAccessReadBuffer = new 
RandomAccessReadBuffer(
-                
GSUBTableDebugger.class.getResourceAsStream("/ttf/Lohit-Bengali.ttf"));
-        RandomAccessReadDataStream randomAccessReadBufferDataStream = new 
RandomAccessReadDataStream(
-                randomAccessReadBuffer);
-        randomAccessReadBufferDataStream.seek(DATA_POSITION_FOR_GSUB_TABLE);
-
-        GlyphSubstitutionTable testClass = new GlyphSubstitutionTable();
-
-        // when
-        testClass.read(null, randomAccessReadBufferDataStream);
-
-        // then
-        GsubData gsubData = testClass.getGsubData();
-        assertNotNull(gsubData);
-        assertNotEquals(GsubData.NO_DATA_FOUND, gsubData);
-        assertEquals(Language.BENGALI, gsubData.getLanguage());
-        assertEquals("bng2", gsubData.getActiveScriptName());
-
-        assertEquals(new HashSet<>(EXPECTED_FEATURE_NAMES), 
gsubData.getSupportedFeatures());
-
-        String templatePathToFile = "/gsub/lohit_bengali/bng2/%s.txt";
-
-        for (String featureName : EXPECTED_FEATURE_NAMES)
+        try (InputStream is = 
GSUBTableDebugger.class.getResourceAsStream("/ttf/Lohit-Bengali.ttf");
+             RandomAccessReadBuffer rarb = new RandomAccessReadBuffer(is);
+             RandomAccessReadDataStream rarbds = new 
RandomAccessReadDataStream(rarb))
         {
-            System.out.println("******* Testing feature: " + featureName);
-            Map<List<Integer>, Integer> expectedGsubTableRawData = 
getExpectedGsubTableRawData(
-                    String.format(templatePathToFile, featureName));
-            ScriptFeature scriptFeature = new 
MapBackedScriptFeature(featureName,
-                    expectedGsubTableRawData);
-            assertEquals(scriptFeature, gsubData.getFeature(featureName));
+            rarbds.seek(DATA_POSITION_FOR_GSUB_TABLE);
+            
+            GlyphSubstitutionTable testClass = new GlyphSubstitutionTable();
+            
+            // when
+            testClass.read(null, rarbds);
+            
+            // then
+            GsubData gsubData = testClass.getGsubData();
+            assertNotNull(gsubData);
+            assertNotEquals(GsubData.NO_DATA_FOUND, gsubData);
+            assertEquals(Language.BENGALI, gsubData.getLanguage());
+            assertEquals("bng2", gsubData.getActiveScriptName());
+            
+            assertEquals(new HashSet<>(EXPECTED_FEATURE_NAMES), 
gsubData.getSupportedFeatures());
+            
+            String templatePathToFile = "/gsub/lohit_bengali/bng2/%s.txt";
+            
+            for (String featureName : EXPECTED_FEATURE_NAMES)
+            {
+                System.out.println("******* Testing feature: " + featureName);
+                System.out.println("******* Testing feature: " + featureName);
+                Map<List<Integer>, Integer> expectedGsubTableRawData = 
getExpectedGsubTableRawData(
+                        String.format(templatePathToFile, featureName));
+                ScriptFeature scriptFeature = new 
MapBackedScriptFeature(featureName,
+                        expectedGsubTableRawData);
+                assertEquals(scriptFeature, gsubData.getFeature(featureName));
+            }
         }
-
     }
 
     private Map<List<Integer>, Integer> getExpectedGsubTableRawData(String 
pathToResource)

Reply via email to