mirror of
https://github.com/servo/servo.git
synced 2025-06-25 09:34:32 +01:00
57 lines
2.4 KiB
JavaScript
57 lines
2.4 KiB
JavaScript
// META: script=resources/nfc-helpers.js
|
|
|
|
'use strict';
|
|
|
|
test(() => {
|
|
assert_equals(NDEFReadingEvent.length, 2);
|
|
assert_throws_js(TypeError, () => new NDEFReadingEvent('message'));
|
|
}, 'NDEFReadingEvent constructor without init dict');
|
|
|
|
test(() => {
|
|
assert_throws_js(
|
|
TypeError,
|
|
() => new NDEFReadingEvent('type', {serialNumber: '', message: null}),
|
|
'NDEFMessageInit#records is a required field.');
|
|
}, 'NDEFReadingEvent constructor failed to construct its NDEFMessage');
|
|
|
|
test(() => {
|
|
const message = createMessage([createMimeRecordFromJson(test_buffer_data)]);
|
|
const event =
|
|
new NDEFReadingEvent('type', {serialNumber: null, message: message});
|
|
assert_equals(event.serialNumber, '', 'serialNumber');
|
|
}, 'NDEFReadingEvent constructor with null serialNumber');
|
|
|
|
test(() => {
|
|
const message = createMessage([createMimeRecordFromJson(test_buffer_data)]);
|
|
const event = new NDEFReadingEvent('type', {message: message});
|
|
assert_equals(event.serialNumber, '', 'serialNumber');
|
|
}, 'NDEFReadingEvent constructor with serialNumber not present');
|
|
|
|
test(() => {
|
|
const message = createMessage([createMimeRecord(test_buffer_data)]);
|
|
const event =
|
|
new NDEFReadingEvent('type', {serialNumber: '', message: message});
|
|
assert_equals(event.type, 'type', 'type');
|
|
assert_equals(event.serialNumber, '', 'serialNumber');
|
|
assertWebNDEFMessagesEqual(event.message, new NDEFMessage(message));
|
|
}, 'NDEFReadingEvent constructor with valid parameters');
|
|
|
|
test(() => {
|
|
const record_init = createTextRecord(test_text_data);
|
|
const event = new NDEFReadingEvent(
|
|
'type', {serialNumber: '', message: createMessage([record_init])});
|
|
assert_equals(event.type, 'type', 'type');
|
|
assert_equals(event.serialNumber, '', 'serialNumber');
|
|
assert_equals(1, event.message.records.length, 'only 1 record');
|
|
|
|
const record = new NDEFRecord(record_init);
|
|
assert_equals(record.recordType, 'text', 'recordType');
|
|
assert_equals(record.mediaType, null, 'mediaType');
|
|
assert_equals(record.encoding, 'utf-8', 'encoding');
|
|
assert_equals(record.lang, 'en', 'lang');
|
|
|
|
assert_equals(event.message.records[0].recordType, 'text', 'recordType');
|
|
assert_equals(event.message.records[0].mediaType, null, 'mediaType');
|
|
assert_equals(event.message.records[0].encoding, 'utf-8', 'encoding');
|
|
assert_equals(event.message.records[0].lang, 'en', 'lang');
|
|
}, 'NDEFReadingEvent constructor sets NDEFRecord#lang for the text records it embeds');
|