@@ -157,6 +157,42 @@ def test_streamreader_readline():
157
157
assert reader .readline () == b'\x00 \x00 '
158
158
159
159
160
+ def test_streamreader_readlines ():
161
+ # Empty stream
162
+ stream = StringStream (b'' )
163
+ reader = StreamReader (stream , False )
164
+ assert reader .readlines () == []
165
+
166
+ # Single line without newline
167
+ stream = StringStream (b'A' )
168
+ reader = StreamReader (stream , False )
169
+ assert reader .readlines () == [b'A' ]
170
+ assert reader .readlines () == []
171
+
172
+ # Single newline
173
+ stream = StringStream (b'\n ' )
174
+ reader = StreamReader (stream , False )
175
+ assert reader .readlines () == [b'\n ' ]
176
+ assert reader .readlines () == []
177
+
178
+ # Line with text followed by empty line
179
+ stream = StringStream (b'A\n \n ' )
180
+ reader = StreamReader (stream , False )
181
+ assert reader .readlines () == [b'A\n ' , b'\n ' ]
182
+ assert reader .readlines () == []
183
+
184
+ # Multiple lines
185
+ stream = StringStream (b'A\n B\n C' )
186
+ reader = StreamReader (stream , False )
187
+ assert reader .readlines () == [b'A\n ' , b'B\n ' , b'C' ]
188
+ assert reader .readlines () == []
189
+
190
+ # Preserve null byte
191
+ stream = StringStream (b'\x00 \x00 ' )
192
+ reader = StreamReader (stream , False )
193
+ assert reader .readlines () == [b'\x00 \x00 ' ]
194
+
195
+
160
196
def test_streamreader_extract_bytes ():
161
197
# Empty bytes
162
198
stream = StringStream (b'' )
0 commit comments