NDEFReadingEvent_constructor.https.window.js (2464B)
1 // META: script=resources/nfc-helpers.js 2 3 'use strict'; 4 5 test(() => { 6 assert_equals(NDEFReadingEvent.length, 2); 7 assert_throws_js(TypeError, () => new NDEFReadingEvent('message')); 8 }, 'NDEFReadingEvent constructor without init dict'); 9 10 test(() => { 11 assert_throws_js( 12 TypeError, 13 () => new NDEFReadingEvent('type', {serialNumber: '', message: null}), 14 'NDEFMessageInit#records is a required field.'); 15 }, 'NDEFReadingEvent constructor failed to construct its NDEFMessage'); 16 17 test(() => { 18 const message = createMessage([createMimeRecordFromJson(test_buffer_data)]); 19 const event = 20 new NDEFReadingEvent('type', {serialNumber: null, message: message}); 21 assert_equals(event.serialNumber, '', 'serialNumber'); 22 }, 'NDEFReadingEvent constructor with null serialNumber'); 23 24 test(() => { 25 const message = createMessage([createMimeRecordFromJson(test_buffer_data)]); 26 const event = new NDEFReadingEvent('type', {message: message}); 27 assert_equals(event.serialNumber, '', 'serialNumber'); 28 }, 'NDEFReadingEvent constructor with serialNumber not present'); 29 30 test(() => { 31 const message = createMessage([createMimeRecord(test_buffer_data)]); 32 const event = 33 new NDEFReadingEvent('type', {serialNumber: '', message: message}); 34 assert_equals(event.type, 'type', 'type'); 35 assert_equals(event.serialNumber, '', 'serialNumber'); 36 assertWebNDEFMessagesEqual(event.message, new NDEFMessage(message)); 37 }, 'NDEFReadingEvent constructor with valid parameters'); 38 39 test(() => { 40 const record_init = createTextRecord(test_text_data); 41 const event = new NDEFReadingEvent( 42 'type', {serialNumber: '', message: createMessage([record_init])}); 43 assert_equals(event.type, 'type', 'type'); 44 assert_equals(event.serialNumber, '', 'serialNumber'); 45 assert_equals(1, event.message.records.length, 'only 1 record'); 46 47 const record = new NDEFRecord(record_init); 48 assert_equals(record.recordType, 'text', 'recordType'); 49 assert_equals(record.mediaType, null, 'mediaType'); 50 assert_equals(record.encoding, 'utf-8', 'encoding'); 51 assert_equals(record.lang, 'en', 'lang'); 52 53 assert_equals(event.message.records[0].recordType, 'text', 'recordType'); 54 assert_equals(event.message.records[0].mediaType, null, 'mediaType'); 55 assert_equals(event.message.records[0].encoding, 'utf-8', 'encoding'); 56 assert_equals(event.message.records[0].lang, 'en', 'lang'); 57 }, 'NDEFReadingEvent constructor sets NDEFRecord#lang for the text records it embeds');