mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Update web-platform-tests to revision fd0429f0b45f975b25d85256dac33762134952c5
This commit is contained in:
parent
0ba7da4431
commit
c8202ddbe1
50 changed files with 1210 additions and 191 deletions
|
@ -0,0 +1,34 @@
|
|||
// META: title=Blob Array Buffer
|
||||
// META: script=../support/Blob.js
|
||||
'use strict';
|
||||
|
||||
promise_test(async () => {
|
||||
const input_arr = new TextEncoder().encode("PASS");
|
||||
const blob = new Blob([input_arr]);
|
||||
const array_buffer = await blob.arrayBuffer();
|
||||
assert_true(array_buffer instanceof ArrayBuffer);
|
||||
assert_equals_typed_array(new Uint8Array(array_buffer), input_arr);
|
||||
}, "Blob.arrayBuffer()")
|
||||
|
||||
promise_test(async () => {
|
||||
const input_arr = new TextEncoder().encode("");
|
||||
const blob = new Blob([input_arr]);
|
||||
const array_buffer = await blob.arrayBuffer();
|
||||
assert_true(array_buffer instanceof ArrayBuffer);
|
||||
assert_equals_typed_array(new Uint8Array(array_buffer), input_arr);
|
||||
}, "Blob.arrayBuffer() empty Blob data")
|
||||
|
||||
promise_test(async () => {
|
||||
const input_arr = new TextEncoder().encode("\u08B8\u000a");
|
||||
const blob = new Blob([input_arr]);
|
||||
const array_buffer = await blob.arrayBuffer();
|
||||
assert_equals_typed_array(new Uint8Array(array_buffer), input_arr);
|
||||
}, "Blob.arrayBuffer() non-ascii input")
|
||||
|
||||
promise_test(async () => {
|
||||
const input_arr = [8, 241, 48, 123, 151];
|
||||
const typed_arr = new Uint8Array(input_arr);
|
||||
const blob = new Blob([typed_arr]);
|
||||
const array_buffer = await blob.arrayBuffer();
|
||||
assert_equals_typed_array(new Uint8Array(array_buffer), typed_arr);
|
||||
}, "Blob.arrayBuffer() non-unicode input")
|
50
tests/wpt/web-platform-tests/FileAPI/blob/Blob-stream.any.js
Normal file
50
tests/wpt/web-platform-tests/FileAPI/blob/Blob-stream.any.js
Normal file
|
@ -0,0 +1,50 @@
|
|||
// META: title=Blob Stream
|
||||
// META: script=../support/Blob.js
|
||||
'use strict';
|
||||
|
||||
// Takes in a ReadableStream and reads from it until it is done, returning
|
||||
// an array that contains the results of each read operation
|
||||
async function read_all_chunks(stream) {
|
||||
assert_true(stream instanceof ReadableStream);
|
||||
assert_true('getReader' in stream);
|
||||
const reader = stream.getReader();
|
||||
|
||||
assert_true('read' in reader);
|
||||
let read_value = await reader.read();
|
||||
|
||||
let out = [];
|
||||
let i = 0;
|
||||
while (!read_value.done) {
|
||||
for (let val of read_value.value) {
|
||||
out[i++] = val;
|
||||
}
|
||||
read_value = await reader.read();
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
promise_test(async () => {
|
||||
const blob = new Blob(["PASS"]);
|
||||
const stream = await blob.stream()
|
||||
const chunks = await read_all_chunks(stream);
|
||||
for (let [index, value] of chunks.entries()) {
|
||||
assert_equals(value, "PASS".charCodeAt(index));
|
||||
}
|
||||
}, "Blob.stream()")
|
||||
|
||||
promise_test(async () => {
|
||||
const blob = new Blob();
|
||||
const stream = await blob.stream()
|
||||
const chunks = await read_all_chunks(stream);
|
||||
|
||||
assert_array_equals(chunks, []);
|
||||
}, "Blob.stream() empty Blob")
|
||||
|
||||
promise_test(async () => {
|
||||
const input_arr = [8, 241, 48, 123, 151];
|
||||
const typed_arr = new Uint8Array(input_arr);
|
||||
const blob = new Blob([typed_arr]);
|
||||
const stream = await blob.stream()
|
||||
const chunks = await read_all_chunks(stream);
|
||||
assert_array_equals(chunks, input_arr)
|
||||
}, "Blob.stream() non-unicode input")
|
52
tests/wpt/web-platform-tests/FileAPI/blob/Blob-text.any.js
Normal file
52
tests/wpt/web-platform-tests/FileAPI/blob/Blob-text.any.js
Normal file
|
@ -0,0 +1,52 @@
|
|||
// META: title=Blob Text
|
||||
// META: script=../support/Blob.js
|
||||
'use strict';
|
||||
|
||||
promise_test(async () => {
|
||||
const blob = new Blob(["PASS"]);
|
||||
const text = await blob.text();
|
||||
assert_equals(text, "PASS");
|
||||
}, "Blob.text()")
|
||||
|
||||
promise_test(async () => {
|
||||
const blob = new Blob();
|
||||
const text = await blob.text();
|
||||
assert_equals(text, "");
|
||||
}, "Blob.text() empty blob data")
|
||||
|
||||
promise_test(async () => {
|
||||
const blob = new Blob(["P", "A", "SS"]);
|
||||
const text = await blob.text();
|
||||
assert_equals(text, "PASS");
|
||||
}, "Blob.text() multi-element array in constructor")
|
||||
|
||||
promise_test(async () => {
|
||||
const non_unicode = "\u0061\u030A";
|
||||
const input_arr = new TextEncoder().encode(non_unicode);
|
||||
const blob = new Blob([input_arr]);
|
||||
const text = await blob.text();
|
||||
assert_equals(text, non_unicode);
|
||||
}, "Blob.text() non-unicode")
|
||||
|
||||
promise_test(async () => {
|
||||
const blob = new Blob(["PASS"], { type: "text/plain;charset=utf-16le" });
|
||||
const text = await blob.text();
|
||||
assert_equals(text, "PASS");
|
||||
}, "Blob.text() different charset param in type option")
|
||||
|
||||
promise_test(async () => {
|
||||
const non_unicode = "\u0061\u030A";
|
||||
const input_arr = new TextEncoder().encode(non_unicode);
|
||||
const blob = new Blob([input_arr], { type: "text/plain;charset=utf-16le" });
|
||||
const text = await blob.text();
|
||||
assert_equals(text, non_unicode);
|
||||
}, "Blob.text() different charset param with non-ascii input")
|
||||
|
||||
promise_test(async () => {
|
||||
const input_arr = new Uint8Array([192, 193, 245, 246, 247, 248, 249, 250, 251,
|
||||
252, 253, 254, 255]);
|
||||
const blob = new Blob([input_arr]);
|
||||
const text = await blob.text();
|
||||
assert_equals(text, "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" +
|
||||
"\ufffd\ufffd\ufffd\ufffd");
|
||||
}, "Blob.text() invalid utf-8 input")
|
Loading…
Add table
Add a link
Reference in a new issue