diff options
author | Anna Henningsen <anna@addaleax.net> | 2016-07-08 12:59:26 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2016-07-13 21:03:42 +0200 |
commit | a7105a8db353fd819bba38471cf5d2fb8c4bf37f (patch) | |
tree | 5ac2e82d5048e527199d2aa96542fa78582c5861 /test | |
parent | cbbddc4fb081f2f83db37af744401079b9036a2f (diff) | |
download | android-node-v8-a7105a8db353fd819bba38471cf5d2fb8c4bf37f.tar.gz android-node-v8-a7105a8db353fd819bba38471cf5d2fb8c4bf37f.tar.bz2 android-node-v8-a7105a8db353fd819bba38471cf5d2fb8c4bf37f.zip |
test,doc: clarify `buf.indexOf(num)` input range
Hopefully clarify the behaviour of `buffer.indexOf()` and
`buffer.includes()` for numbers in that they will be
truncated to uint8s.
Add tests for that behaviour.
Fixes: https://github.com/nodejs/node/issues/7591
PR-URL: https://github.com/nodejs/node/pull/7611
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/parallel/test-buffer-includes.js | 16 | ||||
-rw-r--r-- | test/parallel/test-buffer-indexof.js | 16 |
2 files changed, 32 insertions, 0 deletions
diff --git a/test/parallel/test-buffer-includes.js b/test/parallel/test-buffer-includes.js index 90f24c01f3..fe8f4fa69a 100644 --- a/test/parallel/test-buffer-includes.js +++ b/test/parallel/test-buffer-includes.js @@ -264,3 +264,19 @@ assert.throws(function() { assert.throws(function() { b.includes([]); }); + +// test truncation of Number arguments to uint8 +{ + const buf = Buffer.from('this is a test'); + assert.ok(buf.includes(0x6973)); + assert.ok(buf.includes(0x697320)); + assert.ok(buf.includes(0x69732069)); + assert.ok(buf.includes(0x697374657374)); + assert.ok(buf.includes(0x69737374)); + assert.ok(buf.includes(0x69737465)); + assert.ok(buf.includes(0x69737465)); + assert.ok(buf.includes(-140)); + assert.ok(buf.includes(-152)); + assert.ok(!buf.includes(0xff)); + assert.ok(!buf.includes(0xffff)); +} diff --git a/test/parallel/test-buffer-indexof.js b/test/parallel/test-buffer-indexof.js index 3d5620aa81..59e969c315 100644 --- a/test/parallel/test-buffer-indexof.js +++ b/test/parallel/test-buffer-indexof.js @@ -470,3 +470,19 @@ pattern = reallyLong.slice(0, 1000000); // First 1/5th. assert.equal(3932160, reallyLong.lastIndexOf(pattern)); pattern = reallyLong.slice(0, 2000000); // first 2/5ths. assert.equal(0, reallyLong.lastIndexOf(pattern)); + +// test truncation of Number arguments to uint8 +{ + const buf = Buffer.from('this is a test'); + assert.strictEqual(buf.indexOf(0x6973), 3); + assert.strictEqual(buf.indexOf(0x697320), 4); + assert.strictEqual(buf.indexOf(0x69732069), 2); + assert.strictEqual(buf.indexOf(0x697374657374), 0); + assert.strictEqual(buf.indexOf(0x69737374), 0); + assert.strictEqual(buf.indexOf(0x69737465), 11); + assert.strictEqual(buf.indexOf(0x69737465), 11); + assert.strictEqual(buf.indexOf(-140), 0); + assert.strictEqual(buf.indexOf(-152), 1); + assert.strictEqual(buf.indexOf(0xff), -1); + assert.strictEqual(buf.indexOf(0xffff), -1); +} |