Re: [whatwg/streams] WPT-ify some tests (#597)

ricea commented on this pull request.



> @@ -9,6 +9,36 @@ if (self.importScripts) {
 const error1 = new Error('error1');
 error1.name = 'error1';
 
+test(() => {
+  assert_throws(error1, () => {
+    new WritableStream({
+      get start() {
+        throw error1;
+      }
+    });
+  }, 'constructor throws same error from throwing start getter');

When describing an assert or a test, please use the word 'should', ie. 'when start getter throws, constructor should throw the same object'.

I use https://www.chromium.org/blink/serviceworker/testing#TOC-Layout-Tests-Style as my style guide for web-platform-tests.

> +
+  return promise_rejects(t, error1, writer.close(), 'close should reject with the thrown error');
+}, 'close: throwing getter should cause writer close() to reject');
+
+promise_test(t => {
+  const ws = new WritableStream({
+    get write() {
+      throw error1;
+    }
+  });
+
+  const writer = ws.getWriter();
+
+  return promise_rejects(t, error1, writer.write('a'), 'write should reject with the thrown error')
+  .then(() => {
+    return promise_rejects(t, error1, writer.closed, 'closed should reject with the thrown error');

Personally I wouldn't bother with the () here, but I am not fussy.

> @@ -41,4 +43,245 @@ test(() => {
   assert_equals(writer.desiredSize, 1, 'writer.desiredSize should be 1');
 }, 'TransformStream writable starts in the writable state');
 
+
+promise_test(() => {
+  const ts = new TransformStream();
+
+  const writer = ts.writable.getWriter();
+  writer.write('a');
+  assert_equals(writer.desiredSize, 0, 'writer.desiredSize should be 0 after write()');
+
+  return ts.readable.getReader().read().then(result => {
+    assert_equals(result.value, 'a',
+      'result from reading the readable is the same as was written to writable');
+    assert_false(result.done, 'stream is not done');

This is a good example of why phrasing descriptions using the word 'should' is helpful. Writing 'stream should not be done' makes it a lot clearer what the expected result is.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/streams/pull/597#pullrequestreview-7237437

Received on Friday, 4 November 2016 21:13:59 UTC