summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2016-07-08 12:59:26 +0200
committerAnna Henningsen <anna@addaleax.net>2016-07-13 21:03:42 +0200
commita7105a8db353fd819bba38471cf5d2fb8c4bf37f (patch)
tree5ac2e82d5048e527199d2aa96542fa78582c5861 /test
parentcbbddc4fb081f2f83db37af744401079b9036a2f (diff)
downloadandroid-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.js16
-rw-r--r--test/parallel/test-buffer-indexof.js16
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);
+}