|
1 | 1 | 'use strict';
|
2 |
| -require('../common'); |
| 2 | +const common = require('../common'); |
3 | 3 | const assert = require('assert');
|
4 | 4 |
|
5 | 5 | const { Transform, Readable, Writable } = require('stream');
|
@@ -54,14 +54,33 @@ testTransform(0, 0, {
|
54 | 54 | writableHighWaterMark: 777,
|
55 | 55 | });
|
56 | 56 |
|
57 |
| -// test undefined, null, NaN |
58 |
| -[undefined, null, NaN].forEach((v) => { |
| 57 | +// test undefined, null |
| 58 | +[undefined, null].forEach((v) => { |
59 | 59 | testTransform(DEFAULT, DEFAULT, { readableHighWaterMark: v });
|
60 | 60 | testTransform(DEFAULT, DEFAULT, { writableHighWaterMark: v });
|
61 | 61 | testTransform(666, DEFAULT, { highWaterMark: v, readableHighWaterMark: 666 });
|
62 | 62 | testTransform(DEFAULT, 777, { highWaterMark: v, writableHighWaterMark: 777 });
|
63 | 63 | });
|
64 | 64 |
|
| 65 | +// test NaN |
| 66 | +{ |
| 67 | + common.expectsError(() => { |
| 68 | + new Transform({ readableHighWaterMark: NaN }); |
| 69 | + }, { |
| 70 | + type: TypeError, |
| 71 | + code: 'ERR_INVALID_OPT_VALUE', |
| 72 | + message: 'The value "NaN" is invalid for option "readableHighWaterMark"' |
| 73 | + }); |
| 74 | + |
| 75 | + common.expectsError(() => { |
| 76 | + new Transform({ writableHighWaterMark: NaN }); |
| 77 | + }, { |
| 78 | + type: TypeError, |
| 79 | + code: 'ERR_INVALID_OPT_VALUE', |
| 80 | + message: 'The value "NaN" is invalid for option "writableHighWaterMark"' |
| 81 | + }); |
| 82 | +} |
| 83 | + |
65 | 84 | // test non Duplex streams ignore the options
|
66 | 85 | {
|
67 | 86 | const r = new Readable({ readableHighWaterMark: 666 });
|
|
0 commit comments