Update web-platform-tests to revision 3f3849c5d05f9350fad0b06d3bb3ae30d7e18d14

This commit is contained in:
WPT Sync Bot 2019-07-24 10:23:41 +00:00
parent 9a7e2663e8
commit f767403c00
310 changed files with 8134 additions and 895 deletions

View file

@ -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>

View file

@ -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>

View file

@ -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>

View file

@ -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());
}
}
}