tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

NDEFMessage_constructor.https.window.js (1579B)


      1 // META: script=resources/nfc-helpers.js
      2 
      3 'use strict';
      4 
      5 test(() => {
      6  assert_equals(NDEFMessage.length, 1);
      7  assert_throws_js(TypeError, () => new NDEFMessage());
      8 }, 'NDEFMessage constructor without init dict');
      9 
     10 test(() => {
     11  assert_throws_js(
     12      TypeError, () => new NDEFMessage(null),
     13      'NDEFMessageInit#records is a required field.');
     14 }, 'NDEFMessage constructor with null init dict');
     15 
     16 test(() => {
     17  assert_throws_js(
     18      TypeError, () => new NDEFMessage({dummy_key: 'dummy_value'}),
     19      'NDEFMessageInit#records is a required field.');
     20 }, 'NDEFMessage constructor without NDEFMessageInit#records field');
     21 
     22 test(() => {
     23  assert_throws_js(
     24      TypeError, () => new NDEFMessage({records: []}),
     25      'NDEFMessageInit#records should not be empty.');
     26 }, 'NDEFMessage constructor with NDEFMessageInit#records being empty');
     27 
     28 test(() => {
     29  const message =
     30      new NDEFMessage(createMessage([createTextRecord(test_text_data)]));
     31  assert_equals(message.records.length, 1, 'one text record');
     32  assert_equals(message.records[0].recordType, 'text', 'messageType');
     33  assert_equals(message.records[0].mediaType, null, 'mediaType');
     34  assert_equals(message.records[0].encoding, 'utf-8', 'encoding');
     35  assert_equals(message.records[0].lang, 'en', 'lang');
     36  assert_true(
     37      message.records[0].data instanceof DataView, 'data returns a DataView');
     38  const decoder = new TextDecoder();
     39  assert_equals(
     40      decoder.decode(message.records[0].data), test_text_data,
     41      'data contains the same text content');
     42 }, 'NDEFMessage constructor with a text record');