[Streams API] Add abstract ops tests
authorcalvaris@igalia.com <calvaris@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 29 Sep 2015 18:24:06 +0000 (18:24 +0000)
committercalvaris@igalia.com <calvaris@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 29 Sep 2015 18:24:06 +0000 (18:24 +0000)
https://bugs.webkit.org/show_bug.cgi?id=149629

Reviewed by Darin Adler.

* streams/reference-implementation/abstract-ops-expected.txt: Added.
* streams/reference-implementation/abstract-ops.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190317 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/streams/reference-implementation/abstract-ops-expected.txt [new file with mode: 0644]
LayoutTests/streams/reference-implementation/abstract-ops.html [new file with mode: 0644]

index d209201..d0dd8ca 100644 (file)
@@ -1,5 +1,15 @@
 2015-09-29  Xabier Rodriguez Calvar  <calvaris@igalia.com>
 
+        [Streams API] Add abstract ops tests
+        https://bugs.webkit.org/show_bug.cgi?id=149629
+
+        Reviewed by Darin Adler.
+
+        * streams/reference-implementation/abstract-ops-expected.txt: Added.
+        * streams/reference-implementation/abstract-ops.html: Added.
+
+2015-09-29  Xabier Rodriguez Calvar  <calvaris@igalia.com>
+
         [Streams API] Update tests according to latest spec
         https://bugs.webkit.org/show_bug.cgi?id=149628
 
diff --git a/LayoutTests/streams/reference-implementation/abstract-ops-expected.txt b/LayoutTests/streams/reference-implementation/abstract-ops-expected.txt
new file mode 100644 (file)
index 0000000..ade417c
--- /dev/null
@@ -0,0 +1,8 @@
+
+FAIL IsReadableStreamDisturbed returns true for an empty non-closed stream on which read() has been called Can't find variable: IsReadableStreamDisturbed
+FAIL IsReadableStreamDisturbed returns true for an empty non-closed stream on which cancel() has been called Can't find variable: IsReadableStreamDisturbed
+FAIL IsReadableStreamDisturbed returns true for a closed stream on which read() has been called Can't find variable: IsReadableStreamDisturbed
+FAIL IsReadableStreamDisturbed returns true for a closed stream on which cancel() has been called Can't find variable: IsReadableStreamDisturbed
+FAIL IsReadableStreamDisturbed returns true for an errored stream on which read() has been called Can't find variable: IsReadableStreamDisturbed
+FAIL IsReadableStreamDisturbed returns true for an errored stream on which cancel() has been called Can't find variable: IsReadableStreamDisturbed
+
diff --git a/LayoutTests/streams/reference-implementation/abstract-ops.html b/LayoutTests/streams/reference-implementation/abstract-ops.html
new file mode 100644 (file)
index 0000000..fd20e79
--- /dev/null
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+<script src='../../resources/testharness.js'></script>
+<script src='../../resources/testharnessreport.js'></script>
+<script src='resources/streams-utils.js'></script>
+<!-- FIXME: enable IsReadableStreamDisturbed -->
+<script>
+// This is updated till ec5ffa0 of the spec.
+
+test(function() {
+    var rs = new ReadableStream();
+
+    assert_false(IsReadableStreamDisturbed(rs), 'rs should not be disturbed on construction');
+
+    var reader = rs.getReader();
+    assert_false(IsReadableStreamDisturbed(rs), 'getReader() call has no effect on whether a stream is disturbed or not');
+
+    reader.read();
+    assert_true(IsReadableStreamDisturbed(rs), 'rs should be disturbed after read() call');
+}, 'IsReadableStreamDisturbed returns true for an empty non-closed stream on which read() has been called');
+
+test(function() {
+    var rs = new ReadableStream();
+
+    assert_false(IsReadableStreamDisturbed(rs), 'rs should not be disturbed on construction');
+
+    var reader = rs.getReader();
+    assert_false(IsReadableStreamDisturbed(rs), 'getReader() call has no effect on whether a stream is disturbed or not');
+
+    reader.cancel();
+    assert_true(IsReadableStreamDisturbed(rs), 'rs should be disturbed after cancel() call');
+}, 'IsReadableStreamDisturbed returns true for an empty non-closed stream on which cancel() has been called');
+
+test(function() {
+    var rs = new ReadableStream({
+        start: function(c) {
+            c.close();
+        }
+    });
+
+    assert_false(IsReadableStreamDisturbed(rs), 'rs should not be disturbed on construction');
+
+    var reader = rs.getReader();
+    assert_false(IsReadableStreamDisturbed(rs), 'getReader() call has no effect on whether a stream is disturbed or not');
+
+    reader.read();
+    assert_true(IsReadableStreamDisturbed(rs), 'rs should be disturbed after read() call');
+}, 'IsReadableStreamDisturbed returns true for a closed stream on which read() has been called');
+
+test(function() {
+    var rs = new ReadableStream({
+        start: function(c) {
+            c.close();
+        }
+    });
+
+    assert_false(IsReadableStreamDisturbed(rs), 'rs should not be disturbed on construction');
+
+    var reader = rs.getReader();
+    assert_false(IsReadableStreamDisturbed(rs), 'getReader() call has no effect on whether a stream is disturbed or not');
+
+    reader.cancel();
+    assert_true(IsReadableStreamDisturbed(rs), 'rs should be disturbed after cancel() call');
+}, 'IsReadableStreamDisturbed returns true for a closed stream on which cancel() has been called');
+
+test(function() {
+    var rs = new ReadableStream({
+        start: function(c) {
+            c.error(new Error('waffles'));
+        }
+    });
+
+    assert_false(IsReadableStreamDisturbed(rs), 'rs should not be disturbed on construction');
+
+    var reader = rs.getReader();
+    assert_false(IsReadableStreamDisturbed(rs), 'getReader() call has no effect on whether a stream is disturbed or not');
+
+    reader.read();
+    assert_true(IsReadableStreamDisturbed(rs), 'rs should be disturbed after read() call');
+}, 'IsReadableStreamDisturbed returns true for an errored stream on which read() has been called');
+
+test(function() {
+    var rs = new ReadableStream({
+        start: function(c) {
+            c.error(new Error('waffles'));
+        }
+    });
+
+    assert_false(IsReadableStreamDisturbed(rs), 'rs should not be disturbed on construction');
+
+    var reader = rs.getReader();
+    assert_false(IsReadableStreamDisturbed(rs), 'getReader() call has no effect on whether a stream is disturbed or not');
+
+    reader.cancel();
+    assert_true(IsReadableStreamDisturbed(rs), 'rs should be disturbed after cancel() call');
+}, 'IsReadableStreamDisturbed returns true for an errored stream on which cancel() has been called');
+</script>