OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 | 2 |
3 <script src="../../resources/js-test.js"></script> | 3 <script src="../../resources/js-test.js"></script> |
4 <script> | 4 <script> |
5 description("Test the Blob constructor."); | 5 description("Test the Blob constructor."); |
6 var jsTestIsAsync = true; | 6 var jsTestIsAsync = true; |
7 | 7 |
8 // Test the different ways you can construct a Blob. | 8 // Test the different ways you can construct a Blob. |
9 shouldBeTrue("(new Blob()) instanceof window.Blob"); | 9 shouldBeTrue("(new Blob()) instanceof window.Blob"); |
10 shouldBeTrue("(new Blob(undefined)) instanceof window.Blob"); | 10 shouldBeTrue("(new Blob(undefined)) instanceof window.Blob"); |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 shouldBe("new Blob([new Uint16Array(100)]).size", "200"); | 90 shouldBe("new Blob([new Uint16Array(100)]).size", "200"); |
91 shouldBe("new Blob([new Uint32Array(100)]).size", "400"); | 91 shouldBe("new Blob([new Uint32Array(100)]).size", "400"); |
92 shouldBe("new Blob([new Int8Array(100)]).size", "100"); | 92 shouldBe("new Blob([new Int8Array(100)]).size", "100"); |
93 shouldBe("new Blob([new Int16Array(100)]).size", "200"); | 93 shouldBe("new Blob([new Int16Array(100)]).size", "200"); |
94 shouldBe("new Blob([new Int32Array(100)]).size", "400"); | 94 shouldBe("new Blob([new Int32Array(100)]).size", "400"); |
95 shouldBe("new Blob([new Float32Array(100)]).size", "400"); | 95 shouldBe("new Blob([new Float32Array(100)]).size", "400"); |
96 shouldBe("new Blob([new Float64Array(100)]).size", "800"); | 96 shouldBe("new Blob([new Float64Array(100)]).size", "800"); |
97 shouldBe("new Blob([new Float64Array(100), new Int32Array(100), new Uint8Array(1
00), new DataView(new ArrayBuffer(100))]).size", "1400"); | 97 shouldBe("new Blob([new Float64Array(100), new Int32Array(100), new Uint8Array(1
00), new DataView(new ArrayBuffer(100))]).size", "1400"); |
98 shouldBe("new Blob([new Blob([new Int32Array(100)]), new Uint8Array(100), new Fl
oat32Array(100), new DataView(new ArrayBuffer(100))]).size", "1000"); | 98 shouldBe("new Blob([new Blob([new Int32Array(100)]), new Uint8Array(100), new Fl
oat32Array(100), new DataView(new ArrayBuffer(100))]).size", "1000"); |
99 | 99 |
| 100 // Test SharedArrayBuffer view parameters. |
| 101 if (window.internals && internals.runtimeFlags.sharedArrayBufferEnabled && windo
w.SharedArrayBuffer) { |
| 102 shouldThrow("new Blob([new Uint8Array(new SharedArrayBuffer(100))])", '"TypeEr
ror: Failed to construct \'Blob\': sequence parameter 1 contains a view of a Sha
redArrayBuffer."'); |
| 103 shouldThrow("new Blob([new Uint8ClampedArray(new SharedArrayBuffer(100))])", '
"TypeError: Failed to construct \'Blob\': sequence parameter 1 contains a view o
f a SharedArrayBuffer."'); |
| 104 shouldThrow("new Blob([new Uint16Array(new SharedArrayBuffer(100))])", '"TypeE
rror: Failed to construct \'Blob\': sequence parameter 1 contains a view of a Sh
aredArrayBuffer."'); |
| 105 shouldThrow("new Blob([new Uint32Array(new SharedArrayBuffer(100))])", '"TypeE
rror: Failed to construct \'Blob\': sequence parameter 1 contains a view of a Sh
aredArrayBuffer."'); |
| 106 shouldThrow("new Blob([new Int8Array(new SharedArrayBuffer(100))])", '"TypeErr
or: Failed to construct \'Blob\': sequence parameter 1 contains a view of a Shar
edArrayBuffer."'); |
| 107 shouldThrow("new Blob([new Int16Array(new SharedArrayBuffer(100))])", '"TypeEr
ror: Failed to construct \'Blob\': sequence parameter 1 contains a view of a Sha
redArrayBuffer."'); |
| 108 shouldThrow("new Blob([new Int32Array(new SharedArrayBuffer(100))])", '"TypeEr
ror: Failed to construct \'Blob\': sequence parameter 1 contains a view of a Sha
redArrayBuffer."'); |
| 109 shouldThrow("new Blob([new Float32Array(new SharedArrayBuffer(100))])", '"Type
Error: Failed to construct \'Blob\': sequence parameter 1 contains a view of a S
haredArrayBuffer."'); |
| 110 shouldThrow("new Blob([new Float64Array(new SharedArrayBuffer(104))])", '"Type
Error: Failed to construct \'Blob\': sequence parameter 1 contains a view of a S
haredArrayBuffer."'); |
| 111 } |
| 112 |
100 // Test ArrayBuffer parameters. | 113 // Test ArrayBuffer parameters. |
101 shouldBe("new Blob([(new DataView(new ArrayBuffer(100))).buffer]).size", "100"); | 114 shouldBe("new Blob([(new DataView(new ArrayBuffer(100))).buffer]).size", "100"); |
102 shouldBe("new Blob([(new Uint8Array(100)).buffer]).size", "100"); | 115 shouldBe("new Blob([(new Uint8Array(100)).buffer]).size", "100"); |
103 shouldBe("new Blob([(new Uint8ClampedArray(100)).buffer]).size", "100"); | 116 shouldBe("new Blob([(new Uint8ClampedArray(100)).buffer]).size", "100"); |
104 shouldBe("new Blob([(new Uint16Array(100)).buffer]).size", "200"); | 117 shouldBe("new Blob([(new Uint16Array(100)).buffer]).size", "200"); |
105 shouldBe("new Blob([(new Uint32Array(100)).buffer]).size", "400"); | 118 shouldBe("new Blob([(new Uint32Array(100)).buffer]).size", "400"); |
106 shouldBe("new Blob([(new Int8Array(100)).buffer]).size", "100"); | 119 shouldBe("new Blob([(new Int8Array(100)).buffer]).size", "100"); |
107 shouldBe("new Blob([(new Int16Array(100)).buffer]).size", "200"); | 120 shouldBe("new Blob([(new Int16Array(100)).buffer]).size", "200"); |
108 shouldBe("new Blob([(new Int32Array(100)).buffer]).size", "400"); | 121 shouldBe("new Blob([(new Int32Array(100)).buffer]).size", "400"); |
109 shouldBe("new Blob([(new Float32Array(100)).buffer]).size", "400"); | 122 shouldBe("new Blob([(new Float32Array(100)).buffer]).size", "400"); |
(...skipping 28 matching lines...) Expand all Loading... |
138 reader = new FileReader(); | 151 reader = new FileReader(); |
139 reader.readAsText(new Blob([CONTAINS_UNPAIRED_SURROGATES])); | 152 reader.readAsText(new Blob([CONTAINS_UNPAIRED_SURROGATES])); |
140 reader.onload = function() { | 153 reader.onload = function() { |
141 shouldBe("reader.result.charCodeAt(3)", "0xFFFD"); | 154 shouldBe("reader.result.charCodeAt(3)", "0xFFFD"); |
142 shouldBe("reader.result.charCodeAt(7)", "0xFFFD"); | 155 shouldBe("reader.result.charCodeAt(7)", "0xFFFD"); |
143 finishJSTest(); | 156 finishJSTest(); |
144 }; | 157 }; |
145 } | 158 } |
146 | 159 |
147 </script> | 160 </script> |
OLD | NEW |