| Index: third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/close.js
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/close.js b/third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/close.js
|
| index fb155237937f11031dac184055dfee1ad52d55bd..5c83a5e12839d13460241731c39e467de2a7a399 100644
|
| --- a/third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/close.js
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/streams/writable-streams/close.js
|
| @@ -170,4 +170,47 @@ promise_test(t => {
|
| });
|
| }, 'releaseLock() should not change the result of async close()');
|
|
|
| +promise_test(() => {
|
| + let resolveClose;
|
| + const ws = new WritableStream({
|
| + close() {
|
| + const promise = new Promise(resolve => {
|
| + resolveClose = resolve;
|
| + });
|
| + return promise;
|
| + }
|
| + });
|
| + const writer = ws.getWriter();
|
| + const closePromise = writer.close();
|
| + writer.releaseLock();
|
| + return delay(0).then(() => {
|
| + resolveClose();
|
| + return closePromise.then(() => {
|
| + assert_equals(ws.getWriter().desiredSize, 0, 'desiredSize should be 0');
|
| + });
|
| + });
|
| +}, 'close() should set state to CLOSED even if writer has detached');
|
| +
|
| +promise_test(() => {
|
| + let resolveClose;
|
| + const ws = new WritableStream({
|
| + close() {
|
| + const promise = new Promise(resolve => {
|
| + resolveClose = resolve;
|
| + });
|
| + return promise;
|
| + }
|
| + });
|
| + const writer = ws.getWriter();
|
| + writer.close();
|
| + writer.releaseLock();
|
| + return delay(0).then(() => {
|
| + const abortingWriter = ws.getWriter();
|
| + const abortPromise = abortingWriter.abort();
|
| + abortingWriter.releaseLock();
|
| + resolveClose();
|
| + return abortPromise;
|
| + });
|
| +}, 'the promise returned by async abort during close should resolve');
|
| +
|
| done();
|
|
|