mirror of
https://github.com/servo/servo.git
synced 2025-08-09 15:35:34 +01:00
Update web-platform-tests to revision ac16628eb7eb601957382053011363d2bcf8ce44
This commit is contained in:
parent
ea7e753cea
commit
7e7c8873e4
4408 changed files with 664787 additions and 857286 deletions
|
@ -22,14 +22,14 @@ const invalid_signals = [
|
|||
|
||||
function waitSyntaxErrorPromise(t, scan_options) {
|
||||
const reader = new NDEFReader();
|
||||
return promise_rejects(t, 'SyntaxError', reader.scan(scan_options));
|
||||
return promise_rejects_dom(t, 'SyntaxError', reader.scan(scan_options));
|
||||
}
|
||||
|
||||
promise_test(async t => {
|
||||
const reader = new NDEFReader();
|
||||
const promises = [];
|
||||
invalid_signals.forEach(invalid_signal => {
|
||||
promises.push(promise_rejects(t, new TypeError(),
|
||||
promises.push(promise_rejects_js(t, TypeError,
|
||||
reader.scan({ signal: invalid_signal })));
|
||||
});
|
||||
await Promise.all(promises);
|
||||
|
@ -42,7 +42,7 @@ promise_test(async t => {
|
|||
location.origin, location.origin);
|
||||
}
|
||||
const reader = new NDEFReader();
|
||||
await promise_rejects(t, 'NotAllowedError', reader.scan());
|
||||
await promise_rejects_dom(t, 'NotAllowedError', reader.scan());
|
||||
}, "NDEFReader.scan should fail if user permission is not granted.");
|
||||
|
||||
// We do not provide NFC mock here to simulate that there has no available
|
||||
|
@ -57,7 +57,7 @@ promise_test(async t => {
|
|||
const promise = readerWatcher.wait_for("error").then(event => {
|
||||
assert_true(event instanceof ErrorEvent);
|
||||
});
|
||||
await promise_rejects(t, 'NotSupportedError', reader.scan());
|
||||
await promise_rejects_dom(t, 'NotSupportedError', reader.scan());
|
||||
await promise;
|
||||
}, "Test that an error event happens if no implementation for NFC Mojo interface \
|
||||
is available.");
|
||||
|
@ -65,13 +65,13 @@ is available.");
|
|||
nfc_test(async (t, mockNFC) => {
|
||||
mockNFC.setHWStatus(NFCHWStatus.DISABLED);
|
||||
const reader = new NDEFReader();
|
||||
await promise_rejects(t, 'NotReadableError', reader.scan());
|
||||
await promise_rejects_dom(t, 'NotReadableError', reader.scan());
|
||||
}, "NDEFReader.scan should fail if NFC HW is disabled.");
|
||||
|
||||
nfc_test(async (t, mockNFC) => {
|
||||
mockNFC.setHWStatus(NFCHWStatus.NOT_SUPPORTED);
|
||||
const reader = new NDEFReader();
|
||||
await promise_rejects(t, 'NotSupportedError', reader.scan());
|
||||
await promise_rejects_dom(t, 'NotSupportedError', reader.scan());
|
||||
}, "NDEFReader.scan should fail if NFC HW is not supported.");
|
||||
|
||||
nfc_test(async (t, mockNFC) => {
|
||||
|
@ -106,7 +106,7 @@ nfc_test(async (t, mockNFC) => {
|
|||
const reader = new NDEFReader();
|
||||
const controller = new AbortController();
|
||||
controller.abort();
|
||||
await promise_rejects(t, 'AbortError', reader.scan({signal: controller.signal}));
|
||||
await promise_rejects_dom(t, 'AbortError', reader.scan({signal: controller.signal}));
|
||||
}, "Test that NDEFReader.scan rejects if NDEFScanOptions.signal is already aborted.");
|
||||
|
||||
nfc_test(async (t, mockNFC) => {
|
||||
|
@ -114,7 +114,7 @@ nfc_test(async (t, mockNFC) => {
|
|||
const controller = new AbortController();
|
||||
const promise = reader.scan({signal: controller.signal});
|
||||
controller.abort();
|
||||
await promise_rejects(t, 'AbortError', promise);
|
||||
await promise_rejects_dom(t, 'AbortError', promise);
|
||||
}, "Test that NDEFReader.scan rejects if NDEFScanOptions.signal aborts right after \
|
||||
the scan invocation.");
|
||||
|
||||
|
@ -146,27 +146,88 @@ nfc_test(async (t, mockNFC) => {
|
|||
const promise = readerWatcher.wait_for("reading").then(event => {
|
||||
controller.abort();
|
||||
assert_true(event instanceof NDEFReadingEvent);
|
||||
// The message contains only an external type record.
|
||||
|
||||
// The message in the event contains only the external type record.
|
||||
assert_equals(event.message.records.length, 1);
|
||||
assert_equals(event.message.records[0].recordType, 'example.com:payloadIsMessage', 'recordType');
|
||||
// The external type record's payload is a message, which contains only a text record.
|
||||
const embeddedRecords = event.message.records[0].toRecords();
|
||||
assert_equals(embeddedRecords.length, 1);
|
||||
assert_equals(embeddedRecords[0].recordType, 'text', 'recordType');
|
||||
assert_equals(embeddedRecords[0].mediaType, null, 'mediaType');
|
||||
assert_equals(event.message.records[0].recordType, 'example.com:containsLocalRecord',
|
||||
'recordType');
|
||||
|
||||
// The external type record contains only the local type record.
|
||||
assert_equals(event.message.records[0].toRecords().length, 1);
|
||||
assert_equals(event.message.records[0].toRecords()[0].recordType, ':containsTextRecord',
|
||||
'recordType');
|
||||
|
||||
// The local type record contains only the text record.
|
||||
assert_equals(event.message.records[0].toRecords()[0].toRecords()[0].recordType, 'text',
|
||||
'recordType');
|
||||
const decoder = new TextDecoder();
|
||||
assert_equals(decoder.decode(embeddedRecords[0].data), test_text_data,
|
||||
'data has the same content with the original dictionary');
|
||||
assert_equals(decoder.decode(event.message.records[0].toRecords()[0].toRecords()[0].data),
|
||||
test_text_data, 'data has the same content with the original dictionary');
|
||||
});
|
||||
await reader.scan({signal : controller.signal});
|
||||
|
||||
const payloadMessage = createMessage([createTextRecord(test_text_data)]);
|
||||
const message = createMessage([createRecord('example.com:payloadIsMessage',
|
||||
payloadMessage)]);
|
||||
// An external type record --contains-> a local type record --contains-> a text record.
|
||||
const messageContainText = createMessage([createTextRecord(test_text_data)]);
|
||||
const messageContainLocal= createMessage([createRecord(':containsTextRecord',
|
||||
messageContainText)]);
|
||||
const message = createMessage([createRecord('example.com:containsLocalRecord',
|
||||
messageContainLocal)]);
|
||||
mockNFC.setReadingMessage(message);
|
||||
await promise;
|
||||
}, "NDEFRecord.toRecords returns its embedded records correctly.");
|
||||
|
||||
nfc_test(async (t, mockNFC) => {
|
||||
const reader = new NDEFReader();
|
||||
const controller = new AbortController();
|
||||
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
|
||||
const promise = readerWatcher.wait_for("reading").then(event => {
|
||||
controller.abort();
|
||||
assert_true(event instanceof NDEFReadingEvent);
|
||||
|
||||
// The message in the event contains only the smart-poster record.
|
||||
assert_equals(event.message.records.length, 1);
|
||||
assert_equals(event.message.records[0].recordType, 'smart-poster', 'recordType');
|
||||
assert_equals(event.message.records[0].mediaType, null, 'mediaType');
|
||||
assert_equals(event.message.records[0].id, 'dummy_record_id', 'id');
|
||||
|
||||
// The smart-poster record contains one uri record and one text record.
|
||||
const embedded_records = event.message.records[0].toRecords();
|
||||
assert_equals(embedded_records.length, 2);
|
||||
|
||||
const decoder = new TextDecoder();
|
||||
let embedded_record_types = [];
|
||||
for(let record of embedded_records) {
|
||||
embedded_record_types.push(record.recordType);
|
||||
switch(record.recordType) {
|
||||
case 'url':
|
||||
assert_equals(record.mediaType, null, 'url record\'s mediaType');
|
||||
assert_equals(record.id, test_record_id, 'url record\'s id');
|
||||
assert_equals(decoder.decode(record.data), test_url_data, 'url record\'s data');
|
||||
break;
|
||||
case 'text':
|
||||
assert_equals(record.mediaType, null, 'text record\'s mediaType');
|
||||
assert_equals(record.id, test_record_id, 'text record\'s id');
|
||||
assert_equals(decoder.decode(record.data), test_text_data, 'text record\'s data');
|
||||
break;
|
||||
default:
|
||||
assert_unreached("Unknown recordType");
|
||||
}
|
||||
}
|
||||
assert_array_equals(embedded_record_types.sort(), ['text', 'url'],
|
||||
'smart-poster record\'s contained record types');
|
||||
});
|
||||
await reader.scan({signal : controller.signal});
|
||||
|
||||
// A smart-poster record contains a uri record, text record.
|
||||
const uri_record = createUrlRecord(test_url_data);
|
||||
const text_record = createTextRecord(test_text_data);
|
||||
const payload_message = createMessage([uri_record, text_record]);
|
||||
const message = createMessage([createRecord(
|
||||
'smart-poster', payload_message, "dummy_record_id")]);
|
||||
mockNFC.setReadingMessage(message);
|
||||
await promise;
|
||||
}, "NDEFReader.scan returns smart-poster record correctly.");
|
||||
|
||||
nfc_test(async (t, mockNFC) => {
|
||||
const promises = [];
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue