Author: tilman
Date: Mon Feb  9 19:15:07 2026
New Revision: 1931783

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

Modified:
   
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/TestFontEmbedding.java

Modified: 
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/TestFontEmbedding.java
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/TestFontEmbedding.java
      Mon Feb  9 19:15:02 2026        (r1931782)
+++ 
pdfbox/branches/3.0/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/TestFontEmbedding.java
      Mon Feb  9 19:15:07 2026        (r1931783)
@@ -561,85 +561,87 @@ class TestFontEmbedding
     @Test
     void testIsEmbeddingPermittedMultipleVersions() throws IOException
     {
-        // SETUP
-        PDDocument doc = new PDDocument();
-        COSDictionary cosDictionary = new COSDictionary();
-        InputStream input = 
PDFont.class.getResourceAsStream("/org/apache/pdfbox/resources/ttf/LiberationSans-Regular.ttf");
-        TrueTypeFont ttf = new TTFParser().parseEmbedded(input);
-        TrueTypeEmbedderTester tester = new TrueTypeEmbedderTester(doc, 
cosDictionary, ttf, true);
-        TrueTypeFont mockTtf = Mockito.mock(TrueTypeFont.class);
-        OS2WindowsMetricsTable mockOS2 = 
Mockito.mock(OS2WindowsMetricsTable.class);
-        given(mockTtf.getOS2Windows()).willReturn(mockOS2);
-        Boolean embeddingIsPermitted;
-
-        // TEST 1: 0000 -- Installable embedding versions 0-3+
-        given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 0x0000);
-        embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
-
-        // VERIFY
-        assertTrue(embeddingIsPermitted);
-
-        // no test for 0001, since bit 0 is permanently reserved, and its use 
is deprecated
-        // TEST 2: 0010 -- Restricted License embedding versions 0-3+
-        given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 0x0002);
-        embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
-
-        // VERIFY
-        assertFalse(embeddingIsPermitted);
-
-        // no test for 0011
-        // TEST 3: 0100 -- Preview & Print embedding versions 0-3+
-        given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 0x0004);
-        embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
-
-        // VERIFY
-        assertTrue(embeddingIsPermitted);
-
-        // no test for 0101
-        // TEST 4: 0110 -- Restricted License embedding AND Preview & Print 
embedding versions 0-2
-        //              -- illegal permissions combination for versions 3+
-        given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 0x0006);
-        embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
-
-        // VERIFY
-        assertTrue(embeddingIsPermitted);
-
-        // no test for 0111
-        // TEST 5: 1000 -- Editable embedding versions 0-3+
-        given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 0x0008);
-        embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
-
-        // VERIFY
-        assertTrue(embeddingIsPermitted);
-
-        // no test for 1001
-        // TEST 6: 1010 -- Restricted License embedding AND Editable embedding 
versions 0-2
-        //              -- illegal permissions combination for versions 3+
-        given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 0x000A);
-        embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
-
-        // VERIFY
-        assertTrue(embeddingIsPermitted);
-
-        // no test for 1011
-        // TEST 7: 1100 -- Editable embedding AND Preview & Print embedding 
versions 0-2
-        //              -- illegal permissions combination for versions 3+
-        given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 0x000C);
-        embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
-
-        // VERIFY
-        assertTrue(embeddingIsPermitted);
-
-        // no test for 1101
-        // TEST 8: 1110 Editable embedding AND Preview & Print embedding AND 
Restricted License embedding versions 0-2
-        //              -- illegal permissions combination for versions 3+
-        given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 0x000E);
-        embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
+        try (PDDocument doc = new PDDocument())
+        {
+            // SETUP
+            COSDictionary cosDictionary = new COSDictionary();
+            InputStream input = 
PDFont.class.getResourceAsStream("/org/apache/pdfbox/resources/ttf/LiberationSans-Regular.ttf");
+            TrueTypeFont ttf = new TTFParser().parseEmbedded(input);
+            TrueTypeEmbedderTester tester = new TrueTypeEmbedderTester(doc, 
cosDictionary, ttf, true);
+            TrueTypeFont mockTtf = Mockito.mock(TrueTypeFont.class);
+            OS2WindowsMetricsTable mockOS2 = 
Mockito.mock(OS2WindowsMetricsTable.class);
+            given(mockTtf.getOS2Windows()).willReturn(mockOS2);
+            Boolean embeddingIsPermitted;
+
+            // TEST 1: 0000 -- Installable embedding versions 0-3+
+            given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 
0x0000);
+            embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
+
+            // VERIFY
+            assertTrue(embeddingIsPermitted);
+
+            // no test for 0001, since bit 0 is permanently reserved, and its 
use is deprecated
+            // TEST 2: 0010 -- Restricted License embedding versions 0-3+
+            given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 
0x0002);
+            embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
+
+            // VERIFY
+            assertFalse(embeddingIsPermitted);
+
+            // no test for 0011
+            // TEST 3: 0100 -- Preview & Print embedding versions 0-3+
+            given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 
0x0004);
+            embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
+
+            // VERIFY
+            assertTrue(embeddingIsPermitted);
+
+            // no test for 0101
+            // TEST 4: 0110 -- Restricted License embedding AND Preview & 
Print embedding versions 0-2
+            //              -- illegal permissions combination for versions 3+
+            given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 
0x0006);
+            embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
+
+            // VERIFY
+            assertTrue(embeddingIsPermitted);
+
+            // no test for 0111
+            // TEST 5: 1000 -- Editable embedding versions 0-3+
+            given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 
0x0008);
+            embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
+
+            // VERIFY
+            assertTrue(embeddingIsPermitted);
+
+            // no test for 1001
+            // TEST 6: 1010 -- Restricted License embedding AND Editable 
embedding versions 0-2
+            //              -- illegal permissions combination for versions 3+
+            given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 
0x000A);
+            embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
+
+            // VERIFY
+            assertTrue(embeddingIsPermitted);
+
+            // no test for 1011
+            // TEST 7: 1100 -- Editable embedding AND Preview & Print 
embedding versions 0-2
+            //              -- illegal permissions combination for versions 3+
+            given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 
0x000C);
+            embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
+
+            // VERIFY
+            assertTrue(embeddingIsPermitted);
+
+            // no test for 1101
+            // TEST 8: 1110 Editable embedding AND Preview & Print embedding 
AND Restricted License embedding versions 0-2
+            //              -- illegal permissions combination for versions 3+
+            given(mockTtf.getOS2Windows().getFsType()).willReturn((short) 
0x000E);
+            embeddingIsPermitted = tester.isEmbeddingPermitted(mockTtf);
 
-        // VERIFY
-        assertTrue(embeddingIsPermitted);
+            // VERIFY
+            assertTrue(embeddingIsPermitted);
 
-        // no test for 1111
+            // no test for 1111
+        }
     }
 
     /**

Reply via email to