tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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]);