https://github.com/web-platform-tests/wpt
Raw File
Tip revision: d0e5b82af442510270fe9e265a8ada1e5dfafcf1 authored by Dave Tapuska on 12 September 2018, 17:49:57 UTC
Add experimental support for enterKeyHint.
Tip revision: d0e5b82
error.js
'use strict';

if (self.importScripts) {
  self.importScripts('/resources/testharness.js');
}

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

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

promise_test(t => {
  const ws = new WritableStream({
    start(controller) {
      controller.error(error1);
    }
  });
  return promise_rejects(t, error1, ws.getWriter().closed, 'stream should be errored');
}, 'controller.error() should error the stream');

test(() => {
  let controller;
  const ws = new WritableStream({
    start(c) {
      controller = c;
    }
  });
  ws.abort();
  controller.error(error1);
}, 'controller.error() on erroring stream should not throw');

promise_test(t => {
  let controller;
  const ws = new WritableStream({
    start(c) {
      controller = c;
    }
  });
  controller.error(error1);
  controller.error(error2);
  return promise_rejects(t, error1, ws.getWriter().closed, 'first controller.error() should win');
}, 'surplus calls to controller.error() should be a no-op');

promise_test(() => {
  let controller;
  const ws = new WritableStream({
    start(c) {
      controller = c;
    }
  });
  return ws.abort().then(() => {
    controller.error(error1);
  });
}, 'controller.error() on errored stream should not throw');

promise_test(() => {
  let controller;
  const ws = new WritableStream({
    start(c) {
      controller = c;
    }
  });
  return ws.getWriter().close().then(() => {
    controller.error(error1);
  });
}, 'controller.error() on closed stream should not throw');

done();
back to top