blob: 122070f50ed7c4fdb15947cbec68e2a62eea9a06 [file] [log] [blame]
<!DOCTYPE html>
<title>NDEFReadingEvent constructor</title>
<link rel="help" href="https://w3c.github.io/web-nfc/#dom-ndefreadingevent">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/nfc-helpers.js"></script>
<script>
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, null, 'lang is not set');
}, 'NDEFReadingEvent constructor does not set NDEFRecord#lang for any text records it embeds');
</script>