| <!DOCTYPE html> |
| <script src='../../resources/testharness.js'></script> |
| <script src='../../resources/testharnessreport.js'></script> |
| <script src='resources/streams-utils.js'></script> |
| <script> |
| // This is updated till https://github.com/whatwg/streams/commit/4ba861e6f60c248060811830e11271c84b439cc3 |
| |
| var test1 = async_test('Closing a writable stream with in-flight writes below the high water mark delays the close call properly'); |
| test1.step(function() { |
| var isDone = false; |
| var ws = new WritableStream( |
| { |
| write: function(chunk) { |
| return new Promise(test1.step_func(function(resolve) { |
| setTimeout(test1.step_func(function() { |
| isDone = true; |
| resolve(); |
| }), 500); |
| })); |
| }, |
| close: function() { |
| assert_true(isDone, 'close is only called once the promise has been resolved'); |
| test1.done(); |
| } |
| }, |
| new ByteLengthQueuingStrategy({ highWaterMark: 1024 * 16 }) |
| ); |
| |
| ws.write({ byteLength: 1024 }); |
| ws.close(); |
| }); |
| </script> |