summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/ReadableStream/constructor-default.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/non262/ReadableStream/constructor-default.js')
-rw-r--r--js/src/tests/non262/ReadableStream/constructor-default.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/js/src/tests/non262/ReadableStream/constructor-default.js b/js/src/tests/non262/ReadableStream/constructor-default.js
new file mode 100644
index 0000000000..9f60204c72
--- /dev/null
+++ b/js/src/tests/non262/ReadableStream/constructor-default.js
@@ -0,0 +1,27 @@
+// |reftest| skip-if(!this.hasOwnProperty('ReadableStream'))
+
+// The second argument to `new ReadableStream` defaults to `{}`, so it observes
+// properties hacked onto Object.prototype.
+
+let log = [];
+
+Object.defineProperty(Object.prototype, "size", {
+ configurable: true,
+ get() {
+ log.push("size");
+ log.push(this);
+ return undefined;
+ }
+});
+Object.prototype.highWaterMark = 1337;
+
+let s = new ReadableStream({
+ start(controller) {
+ log.push("start");
+ log.push(controller.desiredSize);
+ }
+});
+assertDeepEq(log, ["size", {}, "start", 1337]);
+
+if (typeof reportCompare == "function")
+ reportCompare(0, 0);