mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
Update web-platform-tests to revision bf71b1f245ce34e447b7bde8ed46694574a63da7
This commit is contained in:
parent
7256d123ff
commit
e17a773b4e
35 changed files with 1567 additions and 467 deletions
|
@ -1,37 +1,91 @@
|
|||
export function assertEqualDates(actual, expected, label) {
|
||||
assert_equals(expected.constructor, Date,
|
||||
"assertEqualDates usage check: expected must be a Date");
|
||||
label = formatLabel(label);
|
||||
|
||||
const labelPart = label === undefined ? "" : `${label}: `;
|
||||
assert_equals(actual.constructor, Date, `${labelPart}must be a Date`);
|
||||
assert_equals(actual.valueOf(), expected.valueOf(), `${labelPart}timestamps must match`);
|
||||
assert_equals(expected.constructor, Date,
|
||||
`${label}assertEqualDates usage check: expected must be a Date`);
|
||||
|
||||
assert_equals(actual.constructor, Date, `${label}must be a Date`);
|
||||
assert_equals(actual.valueOf(), expected.valueOf(), `${label}timestamps must match`);
|
||||
}
|
||||
|
||||
export function assertEqualPostKeyRoundtripping(actual, expected, label) {
|
||||
label = formatLabel(label);
|
||||
|
||||
// Please extend this to support other types as needed!
|
||||
assert_true(
|
||||
typeof expected === "number" || typeof expected === "string" || expected.constructor === Date,
|
||||
`${label}assertEqualPostKeyRoundtripping usage check: currently only supports numbers, strings, and dates`
|
||||
);
|
||||
|
||||
if (expected.constructor === Date) {
|
||||
assert_equals(actual.constructor, Date, `${label}comparing to Date(${Number(expected)}) (actual = ${actual})`);
|
||||
actual = Number(actual);
|
||||
expected = Number(expected);
|
||||
}
|
||||
|
||||
assert_equals(actual, expected, label);
|
||||
}
|
||||
|
||||
export function assertEqualArrayBuffers(actual, expected, label) {
|
||||
assert_equals(expected.constructor, ArrayBuffer,
|
||||
"assertEqualArrayBuffers usage check: expected must be an ArrayBuffer");
|
||||
label = formatLabel(label);
|
||||
|
||||
const labelPart = label === undefined ? "" : `${label}: `;
|
||||
assert_equals(actual.constructor, ArrayBuffer, `${labelPart}must be an ArrayBuffer`);
|
||||
assert_array_equals(new Uint8Array(actual), new Uint8Array(expected), `${labelPart}must match`);
|
||||
assert_equals(expected.constructor, ArrayBuffer,
|
||||
`${label}assertEqualArrayBuffers usage check: expected must be an ArrayBuffer`);
|
||||
|
||||
assert_equals(actual.constructor, ArrayBuffer, `${label}must be an ArrayBuffer`);
|
||||
assert_array_equals(new Uint8Array(actual), new Uint8Array(expected), `${label}must match`);
|
||||
}
|
||||
|
||||
export function assertArrayBufferEqualsABView(actual, expected, label) {
|
||||
label = formatLabel(label);
|
||||
|
||||
assert_true(ArrayBuffer.isView(expected),
|
||||
"assertArrayBufferEqualsABView usage check: expected must be an ArrayBuffer view");
|
||||
`${label}assertArrayBufferEqualsABView usage check: expected must be an ArrayBuffer view`);
|
||||
|
||||
assertEqualArrayBuffers(actual, expected.buffer, label);
|
||||
}
|
||||
|
||||
export function assertArrayCustomEquals(actual, expected, equalityAsserter, label) {
|
||||
assert_true(Array.isArray(expected),
|
||||
"assertArrayCustomEquals usage check: expected must be an Array");
|
||||
export function assertAsyncIteratorEquals(actual, expected, label) {
|
||||
return assertAsyncIteratorCustomEquals(actual, expected, Object.is, label);
|
||||
}
|
||||
|
||||
const labelPart = label === undefined ? "" : `${label}: `;
|
||||
assert_true(Array.isArray(actual), `${labelPart}must be an array`);
|
||||
assert_equals(actual.length, expected.length, `${labelPart}length must be as expected`);
|
||||
export function assertArrayCustomEquals(actual, expected, equalityAsserter, label) {
|
||||
label = formatLabel(label);
|
||||
|
||||
assert_true(Array.isArray(expected),
|
||||
`${label} assertArrayCustomEquals usage check: expected must be an Array`);
|
||||
|
||||
assert_true(Array.isArray(actual), `${label}must be an array`);
|
||||
assert_equals(actual.length, expected.length, `${label}length must be as expected`);
|
||||
|
||||
for (let i = 0; i < actual.length; ++i) {
|
||||
equalityAsserter(actual[i], expected[i], `${labelPart}index ${i}`);
|
||||
equalityAsserter(actual[i], expected[i], `${label}index ${i}`);
|
||||
}
|
||||
}
|
||||
|
||||
export async function assertAsyncIteratorCustomEquals(actual, expected, equalityAsserter, label) {
|
||||
label = formatLabel(label);
|
||||
|
||||
assert_true(Array.isArray(expected),
|
||||
`${label} assertAsyncIteratorCustomEquals usage check: expected must be an Array`);
|
||||
|
||||
const collected = await collectAsyncIterator(actual);
|
||||
assert_equals(collected.length, expected.length, `${label}length must be as expected`);
|
||||
|
||||
for (let i = 0; i < collected.length; ++i) {
|
||||
equalityAsserter(collected[i], expected[i], `${label}index ${i}`);
|
||||
}
|
||||
}
|
||||
|
||||
async function collectAsyncIterator(asyncIterator) {
|
||||
const array = [];
|
||||
for await (const entry of asyncIterator) {
|
||||
array.push(entry);
|
||||
}
|
||||
|
||||
return array;
|
||||
}
|
||||
|
||||
function formatLabel(label) {
|
||||
return label !== undefined ? `${label} ` : "";
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue