diff options
author | Keita Akutsu <kakts.git@gmail.com> | 2018-06-08 01:30:58 +0900 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2018-06-26 19:35:31 +0200 |
commit | a9d9d7689d326d363c8d9546a80ba76f4cd0decb (patch) | |
tree | 9b8ea20fdd887d533d785f10efba1c57eb046213 /test | |
parent | 467a3079864c4a4941c38ea6694e745092c58819 (diff) | |
download | android-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.js | 55 |
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}` + } + ); +} |