This is a testharness.js-based test.
PASS WritableStreamDefaultController should not be exported on the global object
FAIL WritableStreamDefaultWriter should not be exported on the global object assert_equals: WritableStreamDefaultWriter should not be defined expected (undefined) undefined but got (function) function "function WritableStreamDefaultWriter() { [native code] }"
PASS WritableStream.prototype.constructor should have standard properties
PASS WritableStream.prototype.constructor should be a constructor
PASS WritableStream.prototype.locked should have standard properties
PASS WritableStream.prototype.locked should be a getter
PASS WritableStream.prototype.abort should have standard properties
FAIL WritableStream.prototype.abort should be a method assert_equals: abort should take 1 arguments expected 1 but got 0
PASS WritableStream.prototype.getWriter should have standard properties
PASS WritableStream.prototype.getWriter should be a method
PASS WritableStream.prototype should have exactly the expected properties
PASS WritableStreamDefaultController.prototype.constructor should have standard properties
PASS WritableStreamDefaultController.prototype.constructor should be a constructor
PASS WritableStreamDefaultController.prototype.error should have standard properties
FAIL WritableStreamDefaultController.prototype.error should be a method assert_equals: error should take 1 arguments expected 1 but got 0
PASS WritableStreamDefaultController.prototype should have exactly the expected properties
PASS WritableStreamDefaultWriter.prototype.constructor should have standard properties
PASS WritableStreamDefaultWriter.prototype.constructor should be a constructor
PASS WritableStreamDefaultWriter.prototype.closed should have standard properties
PASS WritableStreamDefaultWriter.prototype.closed should be a getter
PASS WritableStreamDefaultWriter.prototype.desiredSize should have standard properties
PASS WritableStreamDefaultWriter.prototype.desiredSize should be a getter
PASS WritableStreamDefaultWriter.prototype.ready should have standard properties
PASS WritableStreamDefaultWriter.prototype.ready should be a getter
PASS WritableStreamDefaultWriter.prototype.abort should have standard properties
FAIL WritableStreamDefaultWriter.prototype.abort should be a method assert_equals: abort should take 1 arguments expected 1 but got 0
PASS WritableStreamDefaultWriter.prototype.close should have standard properties
PASS WritableStreamDefaultWriter.prototype.close should be a method
PASS WritableStreamDefaultWriter.prototype.releaseLock should have standard properties
PASS WritableStreamDefaultWriter.prototype.releaseLock should be a method
PASS WritableStreamDefaultWriter.prototype.write should have standard properties
FAIL WritableStreamDefaultWriter.prototype.write should be a method assert_equals: write should take 1 arguments expected 1 but got 0
PASS WritableStreamDefaultWriter.prototype should have exactly the expected properties
PASS sink method start should be called with the right number of arguments
PASS sink method start should be called even when it's located on the prototype chain
PASS unexpected properties should not be accessed when calling sink method start
PASS sink method write should be called with the right number of arguments
PASS sink method write should be called even when it's located on the prototype chain
PASS unexpected properties should not be accessed when calling sink method write
PASS sink method close should be called with the right number of arguments
PASS sink method close should be called even when it's located on the prototype chain
PASS unexpected properties should not be accessed when calling sink method close
PASS sink method abort should be called with the right number of arguments
PASS sink method abort should be called even when it's located on the prototype chain
PASS unexpected properties should not be accessed when calling sink method abort
Harness: the test ran to completion.

