summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorKeita Akutsu <kakts.git@gmail.com>2018-06-08 01:30:58 +0900
committerAnna Henningsen <anna@addaleax.net>2018-06-26 19:35:31 +0200
commita9d9d7689d326d363c8d9546a80ba76f4cd0decb (patch)
tree9b8ea20fdd887d533d785f10efba1c57eb046213 /test
parent467a3079864c4a4941c38ea6694e745092c58819 (diff)
downloadandroid-node-v8-a9d9d7689d326d363c8d9546a80ba76f4cd0decb.tar.gz
android-node-v8-a9d9d7689d326d363c8d9546a80ba76f4cd0decb.tar.bz2
android-node-v8-a9d9d7689d326d363c8d9546a80ba76f4cd0decb.zip
test: add some test cases for validateOffsetLengthWrite
PR-URL: https://github.com/nodejs/node/pull/21195 Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Weijia Wang <starkwang@126.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Diffstat (limited to 'test')
-rw-r--r--test/parallel/test-fs-util-validateoffsetlengthwrite.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/test/parallel/test-fs-util-validateoffsetlengthwrite.js b/test/parallel/test-fs-util-validateoffsetlengthwrite.js
new file mode 100644
index 0000000000..9aca956bd5
--- /dev/null
+++ b/test/parallel/test-fs-util-validateoffsetlengthwrite.js
@@ -0,0 +1,55 @@
+// Flags: --expose-internals
+'use strict';
+
+const common = require('../common');
+
+const { validateOffsetLengthWrite } = require('internal/fs/utils');
+const { kMaxLength } = require('buffer');
+
+// RangeError when offset > byteLength
+{
+ const offset = 100;
+ const length = 100;
+ const byteLength = 50;
+ common.expectsError(
+ () => validateOffsetLengthWrite(offset, length, byteLength),
+ {
+ code: 'ERR_OUT_OF_RANGE',
+ type: RangeError,
+ message: 'The value of "offset" is out of range. ' +
+ `It must be <= ${byteLength}. Received ${offset}`
+ }
+ );
+}
+
+// RangeError when byteLength > kMaxLength, and length > kMaxLength - offset .
+{
+ const offset = kMaxLength;
+ const length = 100;
+ const byteLength = kMaxLength + 1;
+ common.expectsError(
+ () => validateOffsetLengthWrite(offset, length, byteLength),
+ {
+ code: 'ERR_OUT_OF_RANGE',
+ type: RangeError,
+ message: 'The value of "length" is out of range. ' +
+ `It must be <= ${kMaxLength - offset}. Received ${length}`
+ }
+ );
+}
+
+// RangeError when byteLength < kMaxLength, and length > byteLength - offset .
+{
+ const offset = kMaxLength - 150;
+ const length = 200;
+ const byteLength = kMaxLength - 100;
+ common.expectsError(
+ () => validateOffsetLengthWrite(offset, length, byteLength),
+ {
+ code: 'ERR_OUT_OF_RANGE',
+ type: RangeError,
+ message: 'The value of "length" is out of range. ' +
+ `It must be <= ${byteLength - offset}. Received ${length}`
+ }
+ );
+}