mirror of
https://github.com/servo/servo.git
synced 2025-06-25 09:34:32 +01:00
64 lines
2.2 KiB
JavaScript
64 lines
2.2 KiB
JavaScript
// 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")
|
|
|
|
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_results = await Promise.all([blob.text(), blob.text(),
|
|
blob.text()]);
|
|
for (let text of text_results) {
|
|
assert_equals(text, "\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" +
|
|
"\ufffd\ufffd\ufffd\ufffd");
|
|
}
|
|
}, "Blob.text() concurrent reads")
|