49 lines
1.6 KiB
HTML
49 lines
1.6 KiB
HTML
<!DOCTYPE html>
|
|
<script src='../resources/testharness.js'></script>
|
|
<script src='../resources/testharnessreport.js'></script>
|
|
<script>
|
|
// This is updated till https://github.com/whatwg/streams/commit/4ba861e6f60c248060811830e11271c84b439cc3
|
|
|
|
var test1 = async_test('Erroring a ReadableStream after checking closed should reject ReadableStreamDefaultReader closed promise');
|
|
test1.step(function() {
|
|
var controller;
|
|
var rs = new ReadableStream({
|
|
start: function(c) {
|
|
controller = c;
|
|
}
|
|
});
|
|
|
|
rs.getReader().closed.then(test1.step_func(function() {
|
|
assert_unreached("closed promise should not be resolved when stream is errored");
|
|
}), test1.step_func(function(err) {
|
|
assert_equals(rsError, err);
|
|
test1.done();
|
|
}));
|
|
|
|
var rsError = "my error";
|
|
controller.error(rsError);
|
|
});
|
|
|
|
var test2 = async_test('Erroring a ReadableStream before checking closed should reject ReadableStreamDefaultReader closed promise');
|
|
test2.step(function() {
|
|
var controller;
|
|
var rs = new ReadableStream({
|
|
start: function(c) {
|
|
controller = c;
|
|
}
|
|
});
|
|
|
|
var rsError = "my error";
|
|
controller.error(rsError);
|
|
|
|
// Let's call getReader twice to ensure that stream is not locked to a reader.
|
|
rs.getReader().releaseLock();
|
|
rs.getReader().closed.then(test2.step_func(function() {
|
|
assert_unreached("closed promise should not be resolved when stream is errored");
|
|
}), test2.step_func(function(err) {
|
|
assert_equals(rsError, err);
|
|
test2.done();
|
|
}));
|
|
});
|
|
</script>
|