Blob-constructor.any.html
Details
- Test
/FileAPI/blob/Blob-constructor.any.html- Harness
- OK
Subtests
| Status | Subtest |
|---|---|
| PASS | Blob interface object |
| PASS | Blob constructor with no arguments |
| PASS | Blob constructor with no arguments, without 'new' |
| PASS | Blob constructor without brackets |
| PASS | Blob constructor with undefined as first argument |
| PASS | Passing non-objects, Dates and RegExps for blobParts should throw a TypeError. |
| FAIL | A plain object with @@iterator should be treated as a sequence for the blobParts argument. promise_test: Unhandled rejection with value: object "TypeError: Failed to construct 'Blob': constructor parameter 1 is not of type 'Array'." |
| FAIL | A plain object with custom @@iterator should be treated as a sequence for the blobParts argument. Failed to construct 'Blob': constructor parameter 1 is not of type 'Array'. |
| FAIL | A plain object with @@iterator and a length property should be treated as a sequence for the blobParts argument. promise_test: Unhandled rejection with value: object "TypeError: Failed to construct 'Blob': constructor parameter 1 is not of type 'Array'." |
| FAIL | A String object should be treated as a sequence for the blobParts argument. promise_test: Unhandled rejection with value: object "TypeError: Failed to construct 'Blob': constructor parameter 1 is not of type 'Array'." |
| FAIL | A Uint8Array object should be treated as a sequence for the blobParts argument. promise_test: Unhandled rejection with value: object "TypeError: Failed to construct 'Blob': constructor parameter 1 is not of type 'Array'." |
| PASS | blobParts not an object: boolean |
| PASS | blobParts not an object: boolean with Boolean.prototype[Symbol.iterator] |
| PASS | blobParts not an object: string |
| PASS | blobParts not an object: string with String.prototype[Symbol.iterator] |
| PASS | blobParts not an object: number |
| PASS | blobParts not an object: number with Number.prototype[Symbol.iterator] |
| PASS | blobParts not an object: BigInt |
| PASS | blobParts not an object: BigInt with BigInt.prototype[Symbol.iterator] |
| PASS | blobParts not an object: Symbol |
| PASS | blobParts not an object: Symbol with Symbol.prototype[Symbol.iterator] |
| FAIL | The length getter should be invoked and any exceptions should be propagated. assert_throws_exactly: function "function() {
new Blob(obj);
}" threw object "TypeError: Failed to construct 'Blob': constructor parameter 1 is not of type 'Array'." but we expected it to throw … |
| FAIL | ToUint32 should be applied to the length and any exceptions should be propagated. assert_throws_exactly: function "function() {
var obj = {
[Symbol.iterator]: Array.prototype[Symbol.iterator],
length: {
valueOf: null,
toString: function() { throw tes… |
| FAIL | Getters and value conversions should happen in order until an exception is thrown. assert_throws_exactly: function "function() {
new Blob(obj);
}" threw object "TypeError: Failed to construct 'Blob': constructor parameter 1 is not of type 'Array'." but we expected it to throw … |
| PASS | ToString should be called on elements of the blobParts array and any exceptions should be propagated. |
| FAIL | Changes to the blobParts array should be reflected in the returned Blob (pop). assert_unreached: Should have removed the second element of the array rather than called toString() on it. Reached unreachable code |
| FAIL | Changes to the blobParts array should be reflected in the returned Blob (unshift). assert_equals: expected 4 but got 3 |
| PASS | ToString should be called on elements of the blobParts array. |
| PASS | ArrayBuffer elements of the blobParts array should be supported. |
| PASS | Passing typed arrays as elements of the blobParts array should work. |
| PASS | Passing a Float16Array as element of the blobParts array should work. |
| PASS | Passing a Float64Array as element of the blobParts array should work. |
| PASS | Passing BigInt typed arrays as elements of the blobParts array should work. |
| PASS | Passing a FrozenArray as the blobParts array should work (FrozenArray<MessagePort>). |
| PASS | Array with two blobs |
| PASS | Array with two buffers |
| PASS | Array with two bufferviews |
| PASS | Array with mixed types |
| FAIL | options properties should be accessed in lexicographic order. The 'endings' field on 'Options' is not implemented. |
| PASS | Arguments should be evaluated from left to right. |
| PASS | Passing null (index 0) for options should use the defaults. |
| PASS | Passing null (index 0) for options should use the defaults (with newlines). |
| PASS | Passing undefined (index 1) for options should use the defaults. |
| PASS | Passing undefined (index 1) for options should use the defaults (with newlines). |
| PASS | Passing object "[object Object]" (index 2) for options should use the defaults. |
| PASS | Passing object "[object Object]" (index 2) for options should use the defaults (with newlines). |
| PASS | Passing object "[object Object]" (index 3) for options should use the defaults. |
| PASS | Passing object "[object Object]" (index 3) for options should use the defaults (with newlines). |
| PASS | Passing object "/regex/" (index 4) for options should use the defaults. |
| PASS | Passing object "/regex/" (index 4) for options should use the defaults (with newlines). |
| PASS | Passing function "function() {}" (index 5) for options should use the defaults. |
| PASS | Passing function "function() {}" (index 5) for options should use the defaults (with newlines). |
| PASS | Passing 123 for options should throw |
| PASS | Passing 123.4 for options should throw |
| PASS | Passing true for options should throw |
| PASS | Passing "abc" for options should throw |
| PASS | Blob with type "" |
| PASS | Blob with type "a" |
| PASS | Blob with type "A" |
| PASS | Blob with type "text/html" |
| PASS | Blob with type "TEXT/HTML" |
| PASS | Blob with type "text/plain;charset=utf-8" |
| PASS | Blob with type "å" |
| PASS | Blob with type "𐑾" |
| PASS | Blob with type " image/gif " |
| PASS | Blob with type "\timage/gif\t" |
| FAIL | Blob with type "image/gif;" assert_equals: expected "" but got "image/gif;" |
| PASS | Blob with type "İmage/gif" |
| PASS | Blob with type "ımage/gif" |
| PASS | Blob with type "image/gif\0" |
| PASS | Blob with type "unknown/unknown" |
| PASS | Blob with type "text/plain" |
| PASS | Blob with type "image/png" |