diff options
author | Marcos Casagrande <marcoscvp90@gmail.com> | 2020-05-21 02:18:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-20 20:18:43 -0400 |
commit | 47b089ffa8c6dc06638b3cf0d240817a744108eb (patch) | |
tree | 5a42377c7edcff99265cef5982364f07e1dc66a4 /cli/tests/unit/streams_internal_test.ts | |
parent | 30702e2678200b6e21ba142347d2d213b86e9c6d (diff) |
fix: streams hwm validation (#5681)
Diffstat (limited to 'cli/tests/unit/streams_internal_test.ts')
-rw-r--r-- | cli/tests/unit/streams_internal_test.ts | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/cli/tests/unit/streams_internal_test.ts b/cli/tests/unit/streams_internal_test.ts new file mode 100644 index 000000000..f324da194 --- /dev/null +++ b/cli/tests/unit/streams_internal_test.ts @@ -0,0 +1,79 @@ +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. +import { unitTest, assertThrows } from "./test_util.ts"; + +unitTest(function streamReadableHwmError() { + const invalidHwm = [NaN, Number("NaN"), {}, -1, "two"]; + for (const highWaterMark of invalidHwm) { + assertThrows( + () => { + new ReadableStream<number>( + undefined, + // @ts-ignore + { highWaterMark } + ); + }, + RangeError, + "highWaterMark must be a positive number or Infinity. Received:" + ); + } + + assertThrows(() => { + new ReadableStream<number>( + undefined, + // @ts-ignore + { highWaterMark: Symbol("hwk") } + ); + }, TypeError); +}); + +unitTest(function streamWriteableHwmError() { + const invalidHwm = [NaN, Number("NaN"), {}, -1, "two"]; + for (const highWaterMark of invalidHwm) { + assertThrows( + () => { + new WritableStream( + undefined, + // @ts-ignore + new CountQueuingStrategy({ highWaterMark }) + ); + }, + RangeError, + "highWaterMark must be a positive number or Infinity. Received:" + ); + } + + assertThrows(() => { + new WritableStream( + undefined, + // @ts-ignore + new CountQueuingStrategy({ highWaterMark: Symbol("hwmk") }) + ); + }, TypeError); +}); + +unitTest(function streamTransformHwmError() { + const invalidHwm = [NaN, Number("NaN"), {}, -1, "two"]; + for (const highWaterMark of invalidHwm) { + assertThrows( + () => { + new TransformStream( + undefined, + undefined, + // @ts-ignore + { highWaterMark } + ); + }, + RangeError, + "highWaterMark must be a positive number or Infinity. Received:" + ); + } + + assertThrows(() => { + new TransformStream( + undefined, + undefined, + // @ts-ignore + { highWaterMark: Symbol("hwmk") } + ); + }, TypeError); +}); |