summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorOmar Crisostomo <omarcb@micorreo.upp.edu.mx>2017-12-28 21:57:24 -0600
committerRuben Bridgewater <ruben@bridgewater.de>2018-01-21 02:49:29 +0100
commit080a72c3499fafd875e5b1011a4ddfc051896981 (patch)
tree5efec3310c11808428804b04b211397d771fa0e9 /test
parent93f1d9e10bbc922d6c8862e30efaee8975712633 (diff)
downloadandroid-node-v8-080a72c3499fafd875e5b1011a4ddfc051896981.tar.gz
android-node-v8-080a72c3499fafd875e5b1011a4ddfc051896981.tar.bz2
android-node-v8-080a72c3499fafd875e5b1011a4ddfc051896981.zip
test: check fs.read and fs.readsync input
Added tests to extend the code coverage. PR-URL: https://github.com/nodejs/node/pull/17910 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Weijia Wang <starkwang@126.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Diffstat (limited to 'test')
-rw-r--r--test/parallel/test-fs-read-type.js63
1 files changed, 63 insertions, 0 deletions
diff --git a/test/parallel/test-fs-read-type.js b/test/parallel/test-fs-read-type.js
index cbbfe4824c..3338410bec 100644
--- a/test/parallel/test-fs-read-type.js
+++ b/test/parallel/test-fs-read-type.js
@@ -7,6 +7,7 @@ const filepath = fixtures.path('x.txt');
const fd = fs.openSync(filepath, 'r');
const expected = 'xyz\n';
+
// Error must be thrown with string
common.expectsError(
() => fs.read(fd, expected.length, 0, 'utf-8', common.mustNotCall()),
@@ -17,6 +18,39 @@ common.expectsError(
}
);
+[true, null, undefined, () => {}, {}].forEach((value) => {
+ common.expectsError(() => {
+ fs.read(value,
+ Buffer.allocUnsafe(expected.length),
+ 0,
+ expected.length,
+ 0,
+ common.mustNotCall());
+ }, { code: 'ERR_INVALID_ARG_TYPE', type: TypeError,
+ message: 'The "fd" argument must be of type integer' });
+});
+
+common.expectsError(() => {
+ fs.read(fd,
+ Buffer.allocUnsafe(expected.length),
+ -1,
+ expected.length,
+ 0,
+ common.mustNotCall());
+}, { code: 'ERR_OUT_OF_RANGE', type: RangeError,
+ message: 'The value of "offset" is out of range.' });
+
+common.expectsError(() => {
+ fs.read(fd,
+ Buffer.allocUnsafe(expected.length),
+ 0,
+ -1,
+ 0,
+ common.mustNotCall());
+}, { code: 'ERR_OUT_OF_RANGE', type: RangeError,
+ message: 'The value of "length" is out of range.' });
+
+
common.expectsError(
() => fs.readSync(fd, expected.length, 0, 'utf-8'),
{
@@ -25,3 +59,32 @@ common.expectsError(
message: 'The "buffer" argument must be one of type Buffer or Uint8Array'
}
);
+
+[true, null, undefined, () => {}, {}].forEach((value) => {
+ common.expectsError(() => {
+ fs.readSync(value,
+ Buffer.allocUnsafe(expected.length),
+ 0,
+ expected.length,
+ 0);
+ }, { code: 'ERR_INVALID_ARG_TYPE', type: TypeError,
+ message: 'The "fd" argument must be of type integer' });
+});
+
+common.expectsError(() => {
+ fs.readSync(fd,
+ Buffer.allocUnsafe(expected.length),
+ -1,
+ expected.length,
+ 0);
+}, { code: 'ERR_OUT_OF_RANGE', type: RangeError,
+ message: 'The value of "offset" is out of range.' });
+
+common.expectsError(() => {
+ fs.readSync(fd,
+ Buffer.allocUnsafe(expected.length),
+ 0,
+ -1,
+ 0);
+}, { code: 'ERR_OUT_OF_RANGE', type: RangeError,
+ message: 'The value of "length" is out of range.' });