summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/streams/readable-streams/constructor.any.js
blob: 0b995f0cb16bde21df887a717690eaa853a988b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// META: global=window,worker,shadowrealm
'use strict';

const error1 = new Error('error1');
error1.name = 'error1';

const error2 = new Error('error2');
error2.name = 'error2';

test(() => {
  const underlyingSource = { get start() { throw error1; } };
  const queuingStrategy = { highWaterMark: 0, get size() { throw error2; } };

  // underlyingSource is converted in prose in the method body, whereas queuingStrategy is done at the IDL layer.
  // So the queuingStrategy exception should be encountered first.
  assert_throws_exactly(error2, () => new ReadableStream(underlyingSource, queuingStrategy));
}, 'underlyingSource argument should be converted after queuingStrategy argument');