
PASS idl_test setup
PASS idl_test validation
PASS ReadableStreamDefaultReader includes ReadableStreamGenericReader: member names are unique
PASS ReadableStreamBYOBReader includes ReadableStreamGenericReader: member names are unique
PASS ReadableStream interface: existence and properties of interface object
PASS ReadableStream interface object length
PASS ReadableStream interface object name
PASS ReadableStream interface: existence and properties of interface prototype object
PASS ReadableStream interface: existence and properties of interface prototype object's "constructor" property
PASS ReadableStream interface: existence and properties of interface prototype object's @@unscopables property
FAIL ReadableStream interface: attribute locked assert_true: property should be enumerable expected true got false
FAIL ReadableStream interface: operation cancel(optional any) assert_true: property should be enumerable expected true got false
FAIL ReadableStream interface: operation getReader(optional ReadableStreamGetReaderOptions) assert_true: property should be enumerable expected true got false
FAIL ReadableStream interface: operation pipeThrough(ReadableWritablePair, optional StreamPipeOptions) assert_true: property should be enumerable expected true got false
FAIL ReadableStream interface: operation pipeTo(WritableStream, optional StreamPipeOptions) assert_true: property should be enumerable expected true got false
FAIL ReadableStream interface: operation tee() assert_true: property should be enumerable expected true got false
FAIL ReadableStream interface: async iterable<any> undefined is not an object (evaluating 'iteratorDesc.writable')
PASS ReadableStream must be primary interface of new ReadableStream()
PASS Stringification of new ReadableStream()
PASS ReadableStream interface: new ReadableStream() must inherit property "locked" with the proper type
PASS ReadableStream interface: new ReadableStream() must inherit property "cancel(optional any)" with the proper type
PASS ReadableStream interface: calling cancel(optional any) on new ReadableStream() with too few arguments must throw TypeError
PASS ReadableStream interface: new ReadableStream() must inherit property "getReader(optional ReadableStreamGetReaderOptions)" with the proper type
PASS ReadableStream interface: calling getReader(optional ReadableStreamGetReaderOptions) on new ReadableStream() with too few arguments must throw TypeError
PASS ReadableStream interface: new ReadableStream() must inherit property "pipeThrough(ReadableWritablePair, optional StreamPipeOptions)" with the proper type
PASS ReadableStream interface: calling pipeThrough(ReadableWritablePair, optional StreamPipeOptions) on new ReadableStream() with too few arguments must throw TypeError
PASS ReadableStream interface: new ReadableStream() must inherit property "pipeTo(WritableStream, optional StreamPipeOptions)" with the proper type
PASS ReadableStream interface: calling pipeTo(WritableStream, optional StreamPipeOptions) on new ReadableStream() with too few arguments must throw TypeError
PASS ReadableStream interface: new ReadableStream() must inherit property "tee()" with the proper type
FAIL ReadableStreamDefaultReader interface: existence and properties of interface object assert_own_property: self does not have own property "ReadableStreamDefaultReader" expected property "ReadableStreamDefaultReader" missing
FAIL ReadableStreamDefaultReader interface object length assert_own_property: self does not have own property "ReadableStreamDefaultReader" expected property "ReadableStreamDefaultReader" missing
FAIL ReadableStreamDefaultReader interface object name assert_own_property: self does not have own property "ReadableStreamDefaultReader" expected property "ReadableStreamDefaultReader" missing
FAIL ReadableStreamDefaultReader interface: existence and properties of interface prototype object assert_own_property: self does not have own property "ReadableStreamDefaultReader" expected property "ReadableStreamDefaultReader" missing
FAIL ReadableStreamDefaultReader interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "ReadableStreamDefaultReader" expected property "ReadableStreamDefaultReader" missing
FAIL ReadableStreamDefaultReader interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "ReadableStreamDefaultReader" expected property "ReadableStreamDefaultReader" missing
FAIL ReadableStreamDefaultReader interface: operation read() assert_own_property: self does not have own property "ReadableStreamDefaultReader" expected property "ReadableStreamDefaultReader" missing
FAIL ReadableStreamDefaultReader interface: operation releaseLock() assert_own_property: self does not have own property "ReadableStreamDefaultReader" expected property "ReadableStreamDefaultReader" missing
FAIL ReadableStreamDefaultReader interface: attribute closed assert_own_property: self does not have own property "ReadableStreamDefaultReader" expected property "ReadableStreamDefaultReader" missing
FAIL ReadableStreamDefaultReader interface: operation cancel(optional any) assert_own_property: self does not have own property "ReadableStreamDefaultReader" expected property "ReadableStreamDefaultReader" missing
FAIL ReadableStreamDefaultReader must be primary interface of (new ReadableStream()).getReader() assert_own_property: self does not have own property "ReadableStreamDefaultReader" expected property "ReadableStreamDefaultReader" missing
PASS Stringification of (new ReadableStream()).getReader()
PASS ReadableStreamDefaultReader interface: (new ReadableStream()).getReader() must inherit property "read()" with the proper type
PASS ReadableStreamDefaultReader interface: (new ReadableStream()).getReader() must inherit property "releaseLock()" with the proper type
PASS ReadableStreamDefaultReader interface: (new ReadableStream()).getReader() must inherit property "closed" with the proper type
PASS ReadableStreamDefaultReader interface: (new ReadableStream()).getReader() must inherit property "cancel(optional any)" with the proper type
PASS ReadableStreamDefaultReader interface: calling cancel(optional any) on (new ReadableStream()).getReader() with too few arguments must throw TypeError
FAIL ReadableStreamBYOBReader interface: existence and properties of interface object assert_own_property: self does not have own property "ReadableStreamBYOBReader" expected property "ReadableStreamBYOBReader" missing
FAIL ReadableStreamBYOBReader interface object length assert_own_property: self does not have own property "ReadableStreamBYOBReader" expected property "ReadableStreamBYOBReader" missing
FAIL ReadableStreamBYOBReader interface object name assert_own_property: self does not have own property "ReadableStreamBYOBReader" expected property "ReadableStreamBYOBReader" missing
FAIL ReadableStreamBYOBReader interface: existence and properties of interface prototype object assert_own_property: self does not have own property "ReadableStreamBYOBReader" expected property "ReadableStreamBYOBReader" missing
FAIL ReadableStreamBYOBReader interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "ReadableStreamBYOBReader" expected property "ReadableStreamBYOBReader" missing
FAIL ReadableStreamBYOBReader interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "ReadableStreamBYOBReader" expected property "ReadableStreamBYOBReader" missing
FAIL ReadableStreamBYOBReader interface: operation read(ArrayBufferView) assert_own_property: self does not have own property "ReadableStreamBYOBReader" expected property "ReadableStreamBYOBReader" missing
FAIL ReadableStreamBYOBReader interface: operation releaseLock() assert_own_property: self does not have own property "ReadableStreamBYOBReader" expected property "ReadableStreamBYOBReader" missing
FAIL ReadableStreamBYOBReader interface: attribute closed assert_own_property: self does not have own property "ReadableStreamBYOBReader" expected property "ReadableStreamBYOBReader" missing
FAIL ReadableStreamBYOBReader interface: operation cancel(optional any) assert_own_property: self does not have own property "ReadableStreamBYOBReader" expected property "ReadableStreamBYOBReader" missing
FAIL ReadableStreamBYOBReader must be primary interface of (new ReadableStream({ type: 'bytes' })).getReader({ mode: 'byob' }) assert_own_property: self does not have own property "ReadableStreamBYOBReader" expected property "ReadableStreamBYOBReader" missing
PASS Stringification of (new ReadableStream({ type: 'bytes' })).getReader({ mode: 'byob' })
PASS ReadableStreamBYOBReader interface: (new ReadableStream({ type: 'bytes' })).getReader({ mode: 'byob' }) must inherit property "read(ArrayBufferView)" with the proper type
PASS ReadableStreamBYOBReader interface: calling read(ArrayBufferView) on (new ReadableStream({ type: 'bytes' })).getReader({ mode: 'byob' }) with too few arguments must throw TypeError
PASS ReadableStreamBYOBReader interface: (new ReadableStream({ type: 'bytes' })).getReader({ mode: 'byob' }) must inherit property "releaseLock()" with the proper type
PASS ReadableStreamBYOBReader interface: (new ReadableStream({ type: 'bytes' })).getReader({ mode: 'byob' }) must inherit property "closed" with the proper type
PASS ReadableStreamBYOBReader interface: (new ReadableStream({ type: 'bytes' })).getReader({ mode: 'byob' }) must inherit property "cancel(optional any)" with the proper type
PASS ReadableStreamBYOBReader interface: calling cancel(optional any) on (new ReadableStream({ type: 'bytes' })).getReader({ mode: 'byob' }) with too few arguments must throw TypeError
FAIL ReadableStreamDefaultController interface: existence and properties of interface object assert_own_property: self does not have own property "ReadableStreamDefaultController" expected property "ReadableStreamDefaultController" missing
FAIL ReadableStreamDefaultController interface object length assert_own_property: self does not have own property "ReadableStreamDefaultController" expected property "ReadableStreamDefaultController" missing
FAIL ReadableStreamDefaultController interface object name assert_own_property: self does not have own property "ReadableStreamDefaultController" expected property "ReadableStreamDefaultController" missing
FAIL ReadableStreamDefaultController interface: existence and properties of interface prototype object assert_own_property: self does not have own property "ReadableStreamDefaultController" expected property "ReadableStreamDefaultController" missing
FAIL ReadableStreamDefaultController interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "ReadableStreamDefaultController" expected property "ReadableStreamDefaultController" missing
FAIL ReadableStreamDefaultController interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "ReadableStreamDefaultController" expected property "ReadableStreamDefaultController" missing
FAIL ReadableStreamDefaultController interface: attribute desiredSize assert_own_property: self does not have own property "ReadableStreamDefaultController" expected property "ReadableStreamDefaultController" missing
FAIL ReadableStreamDefaultController interface: operation close() assert_own_property: self does not have own property "ReadableStreamDefaultController" expected property "ReadableStreamDefaultController" missing
FAIL ReadableStreamDefaultController interface: operation enqueue(optional any) assert_own_property: self does not have own property "ReadableStreamDefaultController" expected property "ReadableStreamDefaultController" missing
FAIL ReadableStreamDefaultController interface: operation error(optional any) assert_own_property: self does not have own property "ReadableStreamDefaultController" expected property "ReadableStreamDefaultController" missing
FAIL ReadableStreamDefaultController must be primary interface of self.readableStreamDefaultController assert_own_property: self does not have own property "ReadableStreamDefaultController" expected property "ReadableStreamDefaultController" missing
PASS Stringification of self.readableStreamDefaultController
PASS ReadableStreamDefaultController interface: self.readableStreamDefaultController must inherit property "desiredSize" with the proper type
PASS ReadableStreamDefaultController interface: self.readableStreamDefaultController must inherit property "close()" with the proper type
PASS ReadableStreamDefaultController interface: self.readableStreamDefaultController must inherit property "enqueue(optional any)" with the proper type
PASS ReadableStreamDefaultController interface: calling enqueue(optional any) on self.readableStreamDefaultController with too few arguments must throw TypeError
PASS ReadableStreamDefaultController interface: self.readableStreamDefaultController must inherit property "error(optional any)" with the proper type
PASS ReadableStreamDefaultController interface: calling error(optional any) on self.readableStreamDefaultController with too few arguments must throw TypeError
FAIL ReadableByteStreamController interface: existence and properties of interface object assert_own_property: self does not have own property "ReadableByteStreamController" expected property "ReadableByteStreamController" missing
FAIL ReadableByteStreamController interface object length assert_own_property: self does not have own property "ReadableByteStreamController" expected property "ReadableByteStreamController" missing
FAIL ReadableByteStreamController interface object name assert_own_property: self does not have own property "ReadableByteStreamController" expected property "ReadableByteStreamController" missing
FAIL ReadableByteStreamController interface: existence and properties of interface prototype object assert_own_property: self does not have own property "ReadableByteStreamController" expected property "ReadableByteStreamController" missing
FAIL ReadableByteStreamController interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "ReadableByteStreamController" expected property "ReadableByteStreamController" missing
FAIL ReadableByteStreamController interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "ReadableByteStreamController" expected property "ReadableByteStreamController" missing
FAIL ReadableByteStreamController interface: attribute byobRequest assert_own_property: self does not have own property "ReadableByteStreamController" expected property "ReadableByteStreamController" missing
FAIL ReadableByteStreamController interface: attribute desiredSize assert_own_property: self does not have own property "ReadableByteStreamController" expected property "ReadableByteStreamController" missing
FAIL ReadableByteStreamController interface: operation close() assert_own_property: self does not have own property "ReadableByteStreamController" expected property "ReadableByteStreamController" missing
FAIL ReadableByteStreamController interface: operation enqueue(ArrayBufferView) assert_own_property: self does not have own property "ReadableByteStreamController" expected property "ReadableByteStreamController" missing
FAIL ReadableByteStreamController interface: operation error(optional any) assert_own_property: self does not have own property "ReadableByteStreamController" expected property "ReadableByteStreamController" missing
FAIL ReadableByteStreamController must be primary interface of self.readableByteStreamController assert_own_property: self does not have own property "ReadableByteStreamController" expected property "ReadableByteStreamController" missing
PASS Stringification of self.readableByteStreamController
FAIL ReadableByteStreamController interface: self.readableByteStreamController must inherit property "byobRequest" with the proper type assert_in_array: wrong type: not object or function value "undefined" not in array ["object", "function"]
PASS ReadableByteStreamController interface: self.readableByteStreamController must inherit property "desiredSize" with the proper type
PASS ReadableByteStreamController interface: self.readableByteStreamController must inherit property "close()" with the proper type
PASS ReadableByteStreamController interface: self.readableByteStreamController must inherit property "enqueue(ArrayBufferView)" with the proper type
PASS ReadableByteStreamController interface: calling enqueue(ArrayBufferView) on self.readableByteStreamController with too few arguments must throw TypeError
PASS ReadableByteStreamController interface: self.readableByteStreamController must inherit property "error(optional any)" with the proper type
PASS ReadableByteStreamController interface: calling error(optional any) on self.readableByteStreamController with too few arguments must throw TypeError
FAIL ReadableStreamBYOBRequest interface: existence and properties of interface object assert_own_property: self does not have own property "ReadableStreamBYOBRequest" expected property "ReadableStreamBYOBRequest" missing
FAIL ReadableStreamBYOBRequest interface object length assert_own_property: self does not have own property "ReadableStreamBYOBRequest" expected property "ReadableStreamBYOBRequest" missing
FAIL ReadableStreamBYOBRequest interface object name assert_own_property: self does not have own property "ReadableStreamBYOBRequest" expected property "ReadableStreamBYOBRequest" missing
FAIL ReadableStreamBYOBRequest interface: existence and properties of interface prototype object assert_own_property: self does not have own property "ReadableStreamBYOBRequest" expected property "ReadableStreamBYOBRequest" missing
FAIL ReadableStreamBYOBRequest interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "ReadableStreamBYOBRequest" expected property "ReadableStreamBYOBRequest" missing
FAIL ReadableStreamBYOBRequest interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "ReadableStreamBYOBRequest" expected property "ReadableStreamBYOBRequest" missing
FAIL ReadableStreamBYOBRequest interface: attribute view assert_own_property: self does not have own property "ReadableStreamBYOBRequest" expected property "ReadableStreamBYOBRequest" missing
FAIL ReadableStreamBYOBRequest interface: operation respond(unsigned long long) assert_own_property: self does not have own property "ReadableStreamBYOBRequest" expected property "ReadableStreamBYOBRequest" missing
FAIL ReadableStreamBYOBRequest interface: operation respondWithNewView(ArrayBufferView) assert_own_property: self does not have own property "ReadableStreamBYOBRequest" expected property "ReadableStreamBYOBRequest" missing
FAIL ReadableStreamBYOBRequest must be primary interface of self.readableStreamByobRequest assert_own_property: self does not have own property "ReadableStreamBYOBRequest" expected property "ReadableStreamBYOBRequest" missing
PASS Stringification of self.readableStreamByobRequest
PASS ReadableStreamBYOBRequest interface: self.readableStreamByobRequest must inherit property "view" with the proper type
PASS ReadableStreamBYOBRequest interface: self.readableStreamByobRequest must inherit property "respond(unsigned long long)" with the proper type
FAIL ReadableStreamBYOBRequest interface: calling respond(unsigned long long) on self.readableStreamByobRequest with too few arguments must throw TypeError assert_throws_js: Called with 0 arguments function "function () {
            fn.apply(obj, args);
        }" threw object "RangeError: bytesWritten has an incorrect value" ("RangeError") expected instance of function "function TypeError() {
    [native code]
}" ("TypeError")
PASS ReadableStreamBYOBRequest interface: self.readableStreamByobRequest must inherit property "respondWithNewView(ArrayBufferView)" with the proper type
PASS ReadableStreamBYOBRequest interface: calling respondWithNewView(ArrayBufferView) on self.readableStreamByobRequest with too few arguments must throw TypeError
PASS WritableStream interface: existence and properties of interface object
PASS WritableStream interface object length
PASS WritableStream interface object name
PASS WritableStream interface: existence and properties of interface prototype object
PASS WritableStream interface: existence and properties of interface prototype object's "constructor" property
PASS WritableStream interface: existence and properties of interface prototype object's @@unscopables property
PASS WritableStream interface: attribute locked
PASS WritableStream interface: operation abort(optional any)
PASS WritableStream interface: operation close()
PASS WritableStream interface: operation getWriter()
PASS WritableStream must be primary interface of new WritableStream()
PASS Stringification of new WritableStream()
PASS WritableStream interface: new WritableStream() must inherit property "locked" with the proper type
PASS WritableStream interface: new WritableStream() must inherit property "abort(optional any)" with the proper type
PASS WritableStream interface: calling abort(optional any) on new WritableStream() with too few arguments must throw TypeError
PASS WritableStream interface: new WritableStream() must inherit property "close()" with the proper type
PASS WritableStream interface: new WritableStream() must inherit property "getWriter()" with the proper type
PASS WritableStreamDefaultWriter interface: existence and properties of interface object
PASS WritableStreamDefaultWriter interface object length
PASS WritableStreamDefaultWriter interface object name
PASS WritableStreamDefaultWriter interface: existence and properties of interface prototype object
PASS WritableStreamDefaultWriter interface: existence and properties of interface prototype object's "constructor" property
PASS WritableStreamDefaultWriter interface: existence and properties of interface prototype object's @@unscopables property
PASS WritableStreamDefaultWriter interface: attribute closed
PASS WritableStreamDefaultWriter interface: attribute desiredSize
PASS WritableStreamDefaultWriter interface: attribute ready
FAIL WritableStreamDefaultWriter interface: operation abort(optional any) assert_equals: property has wrong .length expected 0 but got 1
PASS WritableStreamDefaultWriter interface: operation close()
PASS WritableStreamDefaultWriter interface: operation releaseLock()
FAIL WritableStreamDefaultWriter interface: operation write(optional any) assert_equals: property has wrong .length expected 0 but got 1
PASS WritableStreamDefaultWriter must be primary interface of (new WritableStream()).getWriter()
PASS Stringification of (new WritableStream()).getWriter()
PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "closed" with the proper type
PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "desiredSize" with the proper type
PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "ready" with the proper type
PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "abort(optional any)" with the proper type
PASS WritableStreamDefaultWriter interface: calling abort(optional any) on (new WritableStream()).getWriter() with too few arguments must throw TypeError
PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "close()" with the proper type
PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "releaseLock()" with the proper type
PASS WritableStreamDefaultWriter interface: (new WritableStream()).getWriter() must inherit property "write(optional any)" with the proper type
PASS WritableStreamDefaultWriter interface: calling write(optional any) on (new WritableStream()).getWriter() with too few arguments must throw TypeError
FAIL WritableStreamDefaultController interface: existence and properties of interface object assert_throws_js: interface object didn't throw TypeError when called as a constructor function "function () {
                new interface_object();
            }" did not throw
PASS WritableStreamDefaultController interface object length
PASS WritableStreamDefaultController interface object name
PASS WritableStreamDefaultController interface: existence and properties of interface prototype object
PASS WritableStreamDefaultController interface: existence and properties of interface prototype object's "constructor" property
PASS WritableStreamDefaultController interface: existence and properties of interface prototype object's @@unscopables property
FAIL WritableStreamDefaultController interface: operation error(optional any) assert_equals: property has wrong .length expected 0 but got 1
PASS WritableStreamDefaultController must be primary interface of self.writableStreamDefaultController
PASS Stringification of self.writableStreamDefaultController
PASS WritableStreamDefaultController interface: self.writableStreamDefaultController must inherit property "error(optional any)" with the proper type
PASS WritableStreamDefaultController interface: calling error(optional any) on self.writableStreamDefaultController with too few arguments must throw TypeError
PASS TransformStream interface: existence and properties of interface object
PASS TransformStream interface object length
PASS TransformStream interface object name
PASS TransformStream interface: existence and properties of interface prototype object
PASS TransformStream interface: existence and properties of interface prototype object's "constructor" property
PASS TransformStream interface: existence and properties of interface prototype object's @@unscopables property
PASS TransformStream interface: attribute readable
FAIL TransformStream interface: attribute writable assert_equals: getter must have the name 'get writable' expected "get writable" but got "writable"
PASS TransformStream must be primary interface of new TransformStream()
PASS Stringification of new TransformStream()
PASS TransformStream interface: new TransformStream() must inherit property "readable" with the proper type
PASS TransformStream interface: new TransformStream() must inherit property "writable" with the proper type
FAIL TransformStreamDefaultController interface: existence and properties of interface object assert_throws_js: interface object didn't throw TypeError when called as a constructor function "function () {
                new interface_object();
            }" did not throw
PASS TransformStreamDefaultController interface object length
PASS TransformStreamDefaultController interface object name
PASS TransformStreamDefaultController interface: existence and properties of interface prototype object
PASS TransformStreamDefaultController interface: existence and properties of interface prototype object's "constructor" property
PASS TransformStreamDefaultController interface: existence and properties of interface prototype object's @@unscopables property
PASS TransformStreamDefaultController interface: attribute desiredSize
FAIL TransformStreamDefaultController interface: operation enqueue(optional any) assert_equals: property has wrong .length expected 0 but got 1
FAIL TransformStreamDefaultController interface: operation error(optional any) assert_equals: property has wrong .length expected 0 but got 1
PASS TransformStreamDefaultController interface: operation terminate()
PASS TransformStreamDefaultController must be primary interface of self.transformStreamDefaultController
PASS Stringification of self.transformStreamDefaultController
PASS TransformStreamDefaultController interface: self.transformStreamDefaultController must inherit property "desiredSize" with the proper type
PASS TransformStreamDefaultController interface: self.transformStreamDefaultController must inherit property "enqueue(optional any)" with the proper type
PASS TransformStreamDefaultController interface: calling enqueue(optional any) on self.transformStreamDefaultController with too few arguments must throw TypeError
PASS TransformStreamDefaultController interface: self.transformStreamDefaultController must inherit property "error(optional any)" with the proper type
PASS TransformStreamDefaultController interface: calling error(optional any) on self.transformStreamDefaultController with too few arguments must throw TypeError
PASS TransformStreamDefaultController interface: self.transformStreamDefaultController must inherit property "terminate()" with the proper type
PASS ByteLengthQueuingStrategy interface: existence and properties of interface object
PASS ByteLengthQueuingStrategy interface object length
PASS ByteLengthQueuingStrategy interface object name
PASS ByteLengthQueuingStrategy interface: existence and properties of interface prototype object
PASS ByteLengthQueuingStrategy interface: existence and properties of interface prototype object's "constructor" property
PASS ByteLengthQueuingStrategy interface: existence and properties of interface prototype object's @@unscopables property
PASS ByteLengthQueuingStrategy interface: attribute highWaterMark
FAIL ByteLengthQueuingStrategy interface: attribute size assert_throws_js: getting property on prototype object must throw TypeError function "function () {
    [native code]
}" did not throw
PASS ByteLengthQueuingStrategy must be primary interface of new ByteLengthQueuingStrategy({ highWaterMark: 5 })
PASS Stringification of new ByteLengthQueuingStrategy({ highWaterMark: 5 })
PASS ByteLengthQueuingStrategy interface: new ByteLengthQueuingStrategy({ highWaterMark: 5 }) must inherit property "highWaterMark" with the proper type
PASS ByteLengthQueuingStrategy interface: new ByteLengthQueuingStrategy({ highWaterMark: 5 }) must inherit property "size" with the proper type
PASS CountQueuingStrategy interface: existence and properties of interface object
PASS CountQueuingStrategy interface object length
PASS CountQueuingStrategy interface object name
PASS CountQueuingStrategy interface: existence and properties of interface prototype object
PASS CountQueuingStrategy interface: existence and properties of interface prototype object's "constructor" property
PASS CountQueuingStrategy interface: existence and properties of interface prototype object's @@unscopables property
PASS CountQueuingStrategy interface: attribute highWaterMark
FAIL CountQueuingStrategy interface: attribute size assert_throws_js: getting property on prototype object must throw TypeError function "function () {
    [native code]
}" did not throw
PASS CountQueuingStrategy must be primary interface of new CountQueuingStrategy({ highWaterMark: 5 })
PASS Stringification of new CountQueuingStrategy({ highWaterMark: 5 })
PASS CountQueuingStrategy interface: new CountQueuingStrategy({ highWaterMark: 5 }) must inherit property "highWaterMark" with the proper type
PASS CountQueuingStrategy interface: new CountQueuingStrategy({ highWaterMark: 5 }) must inherit property "size" with the proper type

