From c8b0bfd2c4cfd24a7d0c19b1af9623a706772b73 Mon Sep 17 00:00:00 2001 From: Andras Date: Sun, 10 Feb 2019 17:45:11 -0500 Subject: [PATCH] more tests --- test.js | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/test.js b/test.js index c18aaf3..c1d2bca 100644 --- a/test.js +++ b/test.js @@ -243,7 +243,7 @@ module.exports = { } if (SysBuffer.concat) { OBuff._install(); - t.ok(Buffer.concat([makeSysBuffer('A'), new OBuff('B')]) instanceof OBuff); + t.ok(Buffer.concat([makeSysBuffer('A'), makeSysBuffer('B')]) instanceof OBuff); } OBuffer._install(); @@ -278,6 +278,7 @@ module.exports = { 'should access contents with subscript notation': function(t) { var buf = OBuffer("ABC"); + t.equal(buf.length, 3); t.equal(buf[0], 65); t.equal(buf[1], 66); t.equal(buf[2], 67); @@ -311,6 +312,31 @@ module.exports = { t.equal(OBuffer.byteLength("hi\u9876"), 5); t.done(); }, + + 'should support keys and values': function(t) { + var buf = OBuffer("ABCD"); + t.equal(buf.length, 4); + var keys = [], values = []; + // keys and values return iterators, which need for..of, introduced in 0.12 + try { eval("for (var key of buf.keys()) keys.push(key);") } catch (e) { } + try { eval("for (var value of buf.values()) values.push(key);") } catch (e) { } + if (keys.length > 0) t.deepEqual(keys, [0, 1, 2, 3]); + if (values.length > 0) t.deepEqual(values, [65, 66, 67, 68]); + t.done(); + }, + + 'should support read and write': function(t) { + var buf = new OBuffer("oh hello world, have a good day."); + + t.equal(buf.write("hit", 3, 2, 'utf8'), 2); + t.equal(buf.slice(1, 8).toString(), 'h hillo'); + t.equal(buf.toString(undefined, 3, 3+2), 'hi'); + + buf.writeDoubleBE(1e6, 1); + t.equal(buf.readDoubleBE(1), 1e6); + + t.done(); + }, }, 'speed OBuffer': {