readlineBuf.js (792B)
1 load(libdir + "asserts.js"); 2 3 assertThrowsInstanceOf(function () { readlineBuf() }, Error); 4 5 var testBuffers = [ 6 "foo\nbar\nbaz\n", 7 "foo\nbar\nbaz", 8 "foo\n\nbar\nbaz", 9 "f", 10 "\n", 11 "\nf", 12 "", 13 "Ää\n\u{10ffff}", 14 ]; 15 16 var expected = [ 17 [ "foo", "bar", "baz" ], 18 [ "foo", "bar", "baz" ], 19 [ "foo", "", "bar", "baz" ], 20 [ "f" ], 21 [ "" ], 22 [ "", "f" ], 23 [], 24 ["Ää", "\u{10ffff}"], 25 ]; 26 27 for (var [idx, testValue] of testBuffers.entries()) { 28 readlineBuf(testValue); 29 var result = []; 30 31 while ((line = readlineBuf()) != null) { 32 result.push(line); 33 } 34 35 assertDeepEq(result, expected[idx]); 36 } 37 38 readlineBuf(testBuffers[0]); 39 readlineBuf(); 40 readlineBuf(); 41 readlineBuf(testBuffers[3]); 42 assertEq(readlineBuf(), expected[3][0]);