@@ -1118,7 +1118,7 @@ def test_append_multiple():
11181118
11191119
11201120@pytest .mark .samples ()
1121- def test_set_page_label (pdf_file_path ):
1121+ def test_set_page_label ():
11221122 src = RESOURCE_ROOT / "GeoBase_NHNC1_Data_Model_UML_EN.pdf" # File without labels
11231123 reader = PdfReader (src )
11241124
@@ -1154,8 +1154,9 @@ def test_set_page_label(pdf_file_path):
11541154 writer .set_page_label (11 , 11 , "/r" )
11551155 writer .set_page_label (12 , 13 , "/R" )
11561156 writer .set_page_label (17 , 18 , "/R" )
1157- writer .write (pdf_file_path )
1158- assert PdfReader (pdf_file_path ).page_labels == expected
1157+ _ , buf = writer .write (BytesIO ())
1158+ buf .seek (0 )
1159+ assert PdfReader (buf ).page_labels == expected
11591160
11601161 writer = PdfWriter () # Same labels, different set order
11611162 writer .clone_document_from_reader (reader )
@@ -1165,8 +1166,9 @@ def test_set_page_label(pdf_file_path):
11651166 writer .set_page_label (0 , 1 , "/r" )
11661167 writer .set_page_label (12 , 13 , "/R" )
11671168 writer .set_page_label (11 , 11 , "/r" )
1168- writer .write (pdf_file_path )
1169- assert PdfReader (pdf_file_path ).page_labels == expected
1169+ _ , buf = writer .write (BytesIO ())
1170+ buf .seek (0 )
1171+ assert PdfReader (buf ).page_labels == expected
11701172
11711173 # Tests labels assigned only in the middle
11721174 # Tests label assigned to a range already containing labled ranges
@@ -1176,8 +1178,9 @@ def test_set_page_label(pdf_file_path):
11761178 writer .set_page_label (3 , 4 , "/a" )
11771179 writer .set_page_label (5 , 5 , "/A" )
11781180 writer .set_page_label (2 , 6 , "/r" )
1179- writer .write (pdf_file_path )
1180- assert PdfReader (pdf_file_path ).page_labels [: len (expected )] == expected
1181+ _ , buf = writer .write (BytesIO ())
1182+ buf .seek (0 )
1183+ assert PdfReader (buf ).page_labels [: len (expected )] == expected
11811184
11821185 # Tests labels assigned inside a previously existing range
11831186 expected = ["1" , "2" , "i" , "a" , "b" , "A" , "1" , "1" , "2" ]
@@ -1187,8 +1190,9 @@ def test_set_page_label(pdf_file_path):
11871190 writer .set_page_label (2 , 6 , "/r" )
11881191 writer .set_page_label (3 , 4 , "/a" )
11891192 writer .set_page_label (5 , 5 , "/A" )
1190- writer .write (pdf_file_path )
1191- assert PdfReader (pdf_file_path ).page_labels [: len (expected )] == expected
1193+ _ , buf = writer .write (BytesIO ())
1194+ buf .seek (0 )
1195+ assert PdfReader (buf ).page_labels [: len (expected )] == expected
11921196
11931197 # Tests invalid user input
11941198 writer = PdfWriter ()
@@ -1211,10 +1215,6 @@ def test_set_page_label(pdf_file_path):
12111215 ValueError , match = "if given, start must be equal or greater than one"
12121216 ):
12131217 writer .set_page_label (0 , 5 , "/r" , start = - 1 )
1214- import gc
1215- gc .collect ()
1216-
1217- pdf_file_path .unlink ()
12181218
12191219 src = (
12201220 SAMPLE_ROOT / "009-pdflatex-geotopo/GeoTopo.pdf"
@@ -1226,21 +1226,18 @@ def test_set_page_label(pdf_file_path):
12261226 writer = PdfWriter ()
12271227 writer .clone_document_from_reader (reader )
12281228 writer .set_page_label (2 , 3 , "/A" )
1229- writer .write (pdf_file_path )
1230- assert PdfReader (pdf_file_path ).page_labels [: len (expected )] == expected
1229+ _ , buf = writer .write (BytesIO ())
1230+ buf .seek (0 )
1231+ assert PdfReader (buf ).page_labels [: len (expected )] == expected
12311232
12321233 # Tests replacing existing lables
12331234 expected = ["A" , "B" , "1" , "1" , "2" ]
12341235 writer = PdfWriter ()
12351236 writer .clone_document_from_reader (reader )
12361237 writer .set_page_label (0 , 1 , "/A" )
1237- writer .write (pdf_file_path )
1238- assert PdfReader (pdf_file_path ).page_labels [: len (expected )] == expected
1239-
1240- import gc
1241- gc .collect ()
1242-
1243- pdf_file_path .unlink ()
1238+ _ , buf = writer .write (BytesIO ())
1239+ buf .seek (0 )
1240+ assert PdfReader (buf ).page_labels [: len (expected )] == expected
12441241
12451242 # Tests prefix and start.
12461243 src = RESOURCE_ROOT / "issue-604.pdf" # File without page labels
@@ -1255,7 +1252,7 @@ def test_set_page_label(pdf_file_path):
12551252 writer .set_page_label (11 , 21 , "/D" , prefix = "PAP-" )
12561253 writer .set_page_label (22 , 30 , "/D" , prefix = "FOLL-" )
12571254 writer .set_page_label (31 , 39 , "/D" , prefix = "HURT-" )
1258- writer .write (pdf_file_path )
1255+ writer .write (BytesIO () )
12591256
12601257
12611258@pytest .mark .enable_socket ()
0 commit comments