Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1917)

Unified Diff: third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/stream-response.js

Issue 2778753002: Import //fetch from Web Platform Tests. (Closed)
Patch Set: Baselines. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/stream-response.js
diff --git a/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/stream-response.js b/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/stream-response.js
new file mode 100644
index 0000000000000000000000000000000000000000..322b164557d6caaf044135fa64a501ba2ab5e851
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/fetch/api/basic/stream-response.js
@@ -0,0 +1,33 @@
+if (this.document === undefined) {
+ importScripts("/resources/testharness.js");
+ importScripts("../resources/utils.js");
+}
+
+function streamBody(reader, test, count) {
+ return reader.read().then(function(data) {
+ if (!data.done && count < 2) {
+ count += 1;
+ return streamBody(reader, test, count);
+ } else {
+ test.step(function() {
+ assert_true(count >= 2, "Retrieve body progressively");
+ });
+ }
+ });
+}
+
+//simulate streaming:
+//count is large enough to let the UA deliver the body before it is completely retrieved
+promise_test(function(test) {
+ return fetch(RESOURCES_DIR + "trickle.py?ms=30&count=100").then(function(resp) {
+ var count = 0;
+ if (resp.body)
+ return streamBody(resp.body.getReader(), test, count);
+ else
+ test.step(function() {
+ assert_unreached( "Body does not exist in response");
+ });
+ });
+}, "Stream response's body");
+
+done();

Powered by Google App Engine
This is Rietveld 408576698