// 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);
