@@ -308,3 +308,70 @@ fn test_read_many() {
308308 assert res == - 1
309309 assert o4 == [u8 (53 ), 50 , 51 , 52 ]
310310}
311+
312+ fn test_read_line_2 () {
313+ mut two := TwoByteReader{
314+ data: '12345\n 67890'
315+ }
316+ mut reader := StringReader.new (reader: two)
317+ assert reader.read_line ()! == '12345'
318+ assert reader.read_line ()! == '67890'
319+ }
320+
321+ fn test_read_line_3 () {
322+ mut two := TwoByteReader{
323+ data: '12345\t 67890'
324+ }
325+ mut reader := StringReader.new (reader: two)
326+ assert reader.read_line (delim: `\t ` )! == '12345'
327+ assert reader.read_line ()! == '67890'
328+ }
329+
330+ fn test_read_line_4 () {
331+ mut two := TwoByteReader{
332+ data: '12345\t 67890'
333+ }
334+ mut reader := StringReader.new (reader: two)
335+ assert reader.read_line (delim: `\t ` )! == '12345'
336+ assert reader.read_line (delim: `\t ` )! == '67890'
337+ }
338+
339+ fn test_read_line_5 () {
340+ mut two := TwoByteReader{
341+ data: '\n 12345\n 67890'
342+ }
343+ mut reader := StringReader.new (reader: two)
344+ assert reader.read_line ()! == ''
345+ assert reader.read_line ()! == '12345'
346+ assert reader.read_line ()! == '67890'
347+ }
348+
349+ fn test_read_line_6 () {
350+ mut two := TwoByteReader{
351+ data: '\r\n 12345\r\n 67890'
352+ }
353+ mut reader := StringReader.new (reader: two)
354+ assert reader.read_line ()! == ''
355+ assert reader.read_line ()! == '12345'
356+ assert reader.read_line ()! == '67890'
357+ }
358+
359+ fn test_read_line_7 () {
360+ mut two := TwoByteReader{
361+ data: '1234567890'
362+ }
363+ mut reader := StringReader.new (reader: two)
364+ assert reader.read_line (delim: `6` )! == '12345'
365+ assert reader.read_line (delim: `6` )! == '7890'
366+ assert reader.read_line () or { '777' } == '777'
367+ }
368+
369+ fn test_read_line_8 () {
370+ mut two := TwoByteReader{
371+ data: '12345\r\n 67890'
372+ }
373+ mut reader := StringReader.new (reader: two)
374+ assert reader.read_bytes (6 )! == [u8 (49 ), 50 , 51 , 52 , 53 , 13 ]
375+ reader.read_line ()! // \n
376+ assert reader.read_line ()! == '67890'
377+ }
0 commit comments