mirror of
https://github.com/servo/servo.git
synced 2025-08-15 18:35:33 +01:00
Update web-platform-tests to revision 3f3849c5d05f9350fad0b06d3bb3ae30d7e18d14
This commit is contained in:
parent
9a7e2663e8
commit
f767403c00
310 changed files with 8134 additions and 895 deletions
|
@ -0,0 +1,31 @@
|
|||
<!DOCTYPE html>
|
||||
<title>NDEFMessage constructor</title>
|
||||
<link rel="help" href="https://w3c.github.io/web-nfc/#dom-ndefmessage">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="resources/nfc_help.js"></script>
|
||||
<script>
|
||||
|
||||
test(() => {
|
||||
assert_equals(NDEFMessage.length, 1);
|
||||
assert_throws(new TypeError, () => new NDEFMessage());
|
||||
}, 'NDEFMessage constructor without init dict');
|
||||
|
||||
test(() => {
|
||||
const message = new NDEFMessage(null);
|
||||
assert_equals(message.url.length, 0, 'empty url');
|
||||
assert_equals(message.records.length, 0, 'empty records');
|
||||
}, 'NDEFMessage constructor with null init dict');
|
||||
|
||||
test(() => {
|
||||
const message = new NDEFMessage(
|
||||
createMessage([createTextRecord(test_text_data)]));
|
||||
assert_equals(message.records.length, 1, 'one text record');
|
||||
assert_equals(message.records[0].recordType, 'text', 'messageType');
|
||||
assert_equals(message.records[0].mediaType, 'text/plain', 'mediaType');
|
||||
assert_true(typeof message.records[0].data() === 'string');
|
||||
assert_equals(message.records[0].data(), test_text_data,
|
||||
'data() contains the same text content');
|
||||
}, 'NDEFMessage constructor with a text record');
|
||||
|
||||
</script>
|
|
@ -0,0 +1,71 @@
|
|||
<!DOCTYPE html>
|
||||
<title>NDEFRecord constructor</title>
|
||||
<link rel="help" href="https://w3c.github.io/web-nfc/#dom-ndefrecord">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="resources/nfc_help.js"></script>
|
||||
<script>
|
||||
|
||||
test(() => {
|
||||
assert_equals(NDEFRecord.length, 1);
|
||||
assert_throws(new TypeError, () => new NDEFRecord());
|
||||
}, 'NDEFRecord constructor without init dict');
|
||||
|
||||
test(() => {
|
||||
const record = new NDEFRecord(null);
|
||||
assert_equals(record.recordType.length, 0, 'empty recordType');
|
||||
assert_equals(record.mediaType.length, 0, 'empty mediaType');
|
||||
assert_equals(record.data(), null, 'null data');
|
||||
}, 'NDEFRecord constructor with null init dict');
|
||||
|
||||
test(() => {
|
||||
let buffer = new ArrayBuffer(4);
|
||||
let buffer_view = new Uint8Array(buffer);
|
||||
let original_data = new Uint8Array([1, 2, 3, 4]);
|
||||
buffer_view.set(original_data);
|
||||
const record = new NDEFRecord(createOpaqueRecord(buffer));
|
||||
assert_equals(record.recordType, 'opaque', 'recordType');
|
||||
assert_equals(record.mediaType, 'application/octet-stream', 'mediaType');
|
||||
|
||||
const data_1 = record.data();
|
||||
assert_true(data_1 instanceof ArrayBuffer);
|
||||
assert_not_equals(data_1, buffer, 'data() returns a new object');
|
||||
assert_array_equals(new Uint8Array(data_1), original_data,
|
||||
'data() has the same content with the original buffer');
|
||||
|
||||
const data_2 = record.data();
|
||||
assert_true(data_2 instanceof ArrayBuffer);
|
||||
assert_not_equals(data_2, data_1, 'data() again returns another new object');
|
||||
assert_array_equals(new Uint8Array(data_2), original_data,
|
||||
'data() has the same content with the original buffer');
|
||||
|
||||
buffer_view.set([4, 3, 2, 1]);
|
||||
const data_3 = record.data();
|
||||
assert_true(data_3 instanceof ArrayBuffer);
|
||||
assert_array_equals(new Uint8Array(data_1), original_data,
|
||||
'Modifying the original buffer does not affect data() content');
|
||||
assert_array_equals(new Uint8Array(data_2), original_data,
|
||||
'Modifying the original buffer does not affect data() content');
|
||||
assert_array_equals(new Uint8Array(data_3), original_data,
|
||||
'Modifying the original buffer does not affect data() content');
|
||||
}, 'NDEFRecord constructor with opaque data');
|
||||
|
||||
test(() => {
|
||||
const record = new NDEFRecord(createJsonRecord(test_json_data));
|
||||
assert_equals(record.recordType, 'json', 'recordType');
|
||||
assert_equals(record.mediaType, 'application/json', 'mediaType');
|
||||
|
||||
const data_1 = record.data();
|
||||
assert_true(typeof data_1 === 'object');
|
||||
assert_not_equals(data_1, test_json_data, 'data() returns a new object');
|
||||
assert_object_equals(data_1, test_json_data,
|
||||
'data() has the same content with the original dictionary');
|
||||
|
||||
const data_2 = record.data();
|
||||
assert_true(typeof data_2 === 'object');
|
||||
assert_not_equals(data_2, data_1, 'data() again returns another new object');
|
||||
assert_object_equals(data_2, test_json_data,
|
||||
'data() has the same content with the original dictionary');
|
||||
}, 'NDEFRecord constructor with json data');
|
||||
|
||||
</script>
|
|
@ -11,12 +11,30 @@
|
|||
assert_throws(new TypeError, () => new NFCReadingEvent('message'));
|
||||
}, 'NFCReadingEvent constructor without init dict');
|
||||
|
||||
test(() => {
|
||||
const message = createMessage([createJsonRecord(test_json_data)]);
|
||||
const event = new NFCReadingEvent('type', {serialNumber: null, message: message});
|
||||
assert_equals(event.serialNumber, '', 'serialNumber');
|
||||
}, 'NFCReadingEvent constructor with null serialNumber');
|
||||
|
||||
test(() => {
|
||||
const message = createMessage([createJsonRecord(test_json_data)]);
|
||||
const event = new NFCReadingEvent('type', {message: message});
|
||||
assert_equals(event.serialNumber, '', 'serialNumber');
|
||||
}, 'NFCReadingEvent constructor with serialNumber not present');
|
||||
|
||||
test(() => {
|
||||
const event = new NFCReadingEvent('type', {serialNumber: '', message: null});
|
||||
assert_equals(0, event.message.records.length, 'no records');
|
||||
assert_equals(0, event.message.url.length, 'empty url');
|
||||
}, 'NFCReadingEvent constructor with null message');
|
||||
|
||||
test(() => {
|
||||
const message = createMessage([createJsonRecord(test_json_data)]);
|
||||
const event = new NFCReadingEvent('type', {serialNumber: '', message: message});
|
||||
assert_equals(event.type, 'type', 'type');
|
||||
assert_equals(event.serialNumber, '', 'serialNumber');
|
||||
assertWebNDEFMessagesEqual(event.message, message, 'message');
|
||||
assertWebNDEFMessagesEqual(event.message, new NDEFMessage(message), 'message');
|
||||
}, 'NFCReadingEvent constructor with valid parameters');
|
||||
|
||||
</script>
|
||||
|
|
|
@ -6,6 +6,7 @@ const test_number_data = 42;
|
|||
const test_json_data = {level: 1, score: 100, label: 'Game'};
|
||||
const test_url_data = "https://w3c.github.io/web-nfc";
|
||||
const test_buffer_data = new ArrayBuffer(test_text_byte_array.length);
|
||||
const test_buffer_view = new Uint8Array(test_buffer_data).set(test_text_byte_array);
|
||||
|
||||
function noop() {};
|
||||
|
||||
|
@ -55,14 +56,14 @@ function assertWebNDEFMessagesEqual(a, b) {
|
|||
let recordB = b.records[i];
|
||||
assert_equals(recordA.recordType, recordB.recordType);
|
||||
assert_equals(recordA.mediaType, recordB.mediaType);
|
||||
if (recordA.data instanceof ArrayBuffer) {
|
||||
assert_array_equals(new Uint8Array(recordA.data),
|
||||
new Uint8Array(recordB.data));
|
||||
} else if (typeof recordA.data === 'object') {
|
||||
assert_object_equals(recordA.data, recordB.data);
|
||||
} else if (typeof recordA.data === 'number'
|
||||
|| typeof recordA.data === 'string') {
|
||||
assert_true(recordA.data == recordB.data);
|
||||
if (recordA.data() instanceof ArrayBuffer) {
|
||||
assert_array_equals(new Uint8Array(recordA.data()),
|
||||
new Uint8Array(recordB.data()));
|
||||
} else if (typeof recordA.data() === 'object') {
|
||||
assert_object_equals(recordA.data(), recordB.data());
|
||||
} else if (typeof recordA.data() === 'number'
|
||||
|| typeof recordA.data() === 'string') {
|
||||
assert_true(recordA.data() == recordB.data());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue