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

Unified Diff: third_party/WebKit/LayoutTests/http/tests/streams/resources/rs-utils.js

Issue 2500133002: Replace streams tests with automatically-imported ones (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 1 month 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/http/tests/streams/resources/rs-utils.js
diff --git a/third_party/WebKit/LayoutTests/http/tests/streams/resources/rs-utils.js b/third_party/WebKit/LayoutTests/http/tests/streams/resources/rs-utils.js
deleted file mode 100644
index 0f3222e23cab7a0a6d6177116c99ed90df957977..0000000000000000000000000000000000000000
--- a/third_party/WebKit/LayoutTests/http/tests/streams/resources/rs-utils.js
+++ /dev/null
@@ -1,185 +0,0 @@
-'use strict';
-(function () {
-
- class RandomPushSource {
- constructor(toPush) {
- this.pushed = 0;
- this.toPush = toPush;
- this.started = false;
- this.paused = false;
- this.closed = false;
-
- this._intervalHandle = null;
- }
-
- readStart() {
- if (this.closed) {
- return;
- }
-
- if (!this.started) {
- this._intervalHandle = setInterval(writeChunk, 2);
- this.started = true;
- }
-
- if (this.paused) {
- this._intervalHandle = setInterval(writeChunk, 2);
- this.paused = false;
- }
-
- const source = this;
- function writeChunk() {
- if (source.paused) {
- return;
- }
-
- source.pushed++;
-
- if (source.toPush > 0 && source.pushed > source.toPush) {
- if (source._intervalHandle) {
- clearInterval(source._intervalHandle);
- source._intervalHandle = undefined;
- }
- source.closed = true;
- source.onend();
- } else {
- source.ondata(randomChunk(128));
- }
- }
- }
-
- readStop() {
- if (this.paused) {
- return;
- }
-
- if (this.started) {
- this.paused = true;
- clearInterval(this._intervalHandle);
- this._intervalHandle = undefined;
- } else {
- throw new Error('Can\'t pause reading an unstarted source.');
- }
- }
- }
-
- function randomChunk(size) {
- let chunk = '';
-
- for (let i = 0; i < size; ++i) {
- // Add a random character from the basic printable ASCII set.
- chunk += String.fromCharCode(Math.round(Math.random() * 84) + 32);
- }
-
- return chunk;
- }
-
- function readableStreamToArray(readable, reader) {
- if (reader === undefined) {
- reader = readable.getReader();
- }
-
- const chunks = [];
-
- return pump();
-
- function pump() {
- return reader.read().then(result => {
- if (result.done) {
- return chunks;
- }
-
- chunks.push(result.value);
- return pump();
- });
- }
- }
-
- class SequentialPullSource {
- constructor(limit, options) {
- const async = options && options.async;
-
- this.current = 0;
- this.limit = limit;
- this.opened = false;
- this.closed = false;
-
- this._exec = f => f();
- if (async) {
- this._exec = f => setTimeout(f, 0);
- }
- }
-
- open(cb) {
- this._exec(() => {
- this.opened = true;
- cb();
- });
- }
-
- read(cb) {
- this._exec(() => {
- if (++this.current <= this.limit) {
- cb(null, false, this.current);
- } else {
- cb(null, true, null);
- }
- });
- }
-
- close(cb) {
- this._exec(() => {
- this.closed = true;
- cb();
- });
- }
- }
-
- function sequentialReadableStream(limit, options) {
- const sequentialSource = new SequentialPullSource(limit, options);
-
- const stream = new ReadableStream({
- start() {
- return new Promise((resolve, reject) => {
- sequentialSource.open(err => {
- if (err) {
- reject(err);
- }
- resolve();
- });
- });
- },
-
- pull(c) {
- return new Promise((resolve, reject) => {
- sequentialSource.read((err, done, chunk) => {
- if (err) {
- reject(err);
- } else if (done) {
- sequentialSource.close(err2 => {
- if (err2) {
- reject(err2);
- }
- c.close();
- resolve();
- });
- } else {
- c.enqueue(chunk);
- resolve();
- }
- });
- });
- }
- });
-
- stream.source = sequentialSource;
-
- return stream;
- }
-
-
- self.RandomPushSource = RandomPushSource;
- self.readableStreamToArray = readableStreamToArray;
- self.sequentialReadableStream = sequentialReadableStream;
-
-}());

Powered by Google App Engine
This is Rietveld 408576698