Best JavaScript code snippet using wpt
NDEFReader_make-read-only.https.window.js
Source:NDEFReader_make-read-only.https.window.js
1// META: script=/resources/testharness.js2// META: script=/resources/testharnessreport.js3// META: script=resources/nfc-helpers.js4// NDEFReader.makeReadOnly method5// https://w3c.github.io/web-nfc/#dom-ndefreader-makereadonly6'use strict';7const invalid_signals = ['string', 123, {}, true, Symbol(), () => {}, self];8nfc_test(async t => {9 await test_driver.set_permission({name: 'nfc'}, 'denied', false);10 const ndef = new NDEFReader();11 await promise_rejects_dom(t, 'NotAllowedError', ndef.makeReadOnly());12}, 'NDEFReader.makeReadOnly should fail if user permission is not granted.');13// We do not provide NFC mock here to simulate that there has no available14// implementation for NFC Mojo interface.15nfc_test(async (t, mockNFC) => {16 mockNFC.simulateClosedPipe();17 const ndef = new NDEFReader();18 await promise_rejects_dom(t, 'NotSupportedError', ndef.makeReadOnly());19}, 'NDEFReader.makeReadOnly should fail if no implementation for NFC Mojo interface is available.');20nfc_test(async (t, mockNFC) => {21 const ndef = new NDEFReader();22 const controller = new AbortController();23 // Make sure makeReadOnly is pending24 mockNFC.setPendingMakeReadOnlyCompleted(false);25 const p = ndef.makeReadOnly({signal: controller.signal});26 const rejected = promise_rejects_dom(t, 'AbortError', p);27 let callback_called = false;28 await new Promise(resolve => {29 t.step_timeout(() => {30 callback_called = true;31 controller.abort();32 resolve();33 }, 10);34 });35 await rejected;36 assert_true(callback_called, 'timeout should have caused the abort');37}, 'NDEFReader.makeReadOnly should fail if request is aborted before makeReadOnly happends.');38nfc_test(async t => {39 const ndef = new NDEFReader();40 const controller = new AbortController();41 assert_false(controller.signal.aborted);42 controller.abort();43 assert_true(controller.signal.aborted);44 await promise_rejects_dom(45 t, 'AbortError', ndef.makeReadOnly({signal: controller.signal}));46}, 'NDEFReader.makeReadOnly should fail if signal is already aborted.');47nfc_test(async t => {48 const ndef = new NDEFReader();49 const promises = [];50 invalid_signals.forEach(invalid_signal => {51 promises.push(promise_rejects_js(52 t, TypeError, ndef.makeReadOnly({signal: invalid_signal})));53 });54 await Promise.all(promises);55}, 'NDEFReader.write should fail if signal is not an AbortSignal.');56nfc_test(async (t, mockNFC) => {57 const ndef1 = new NDEFReader();58 const ndef2 = new NDEFReader();59 const controller = new AbortController();60 const p1 = ndef1.makeReadOnly({signal: controller.signal});61 // Even though makeReadOnly request is grantable,62 // this abort should be processed synchronously.63 controller.abort();64 await promise_rejects_dom(t, 'AbortError', p1);65 await ndef2.makeReadOnly();66}, 'Synchronously signaled abort.');67nfc_test(async (t, mockNFC) => {68 const ndef = new NDEFReader();69 mockNFC.setHWStatus(NFCHWStatus.DISABLED);70 await promise_rejects_dom(t, 'NotReadableError', ndef.makeReadOnly());71}, 'NDEFReader.makeReadOnly should fail when NFC HW is disabled.');72nfc_test(async (t, mockNFC) => {73 const ndef = new NDEFReader();74 mockNFC.setHWStatus(NFCHWStatus.NOT_SUPPORTED);75 await promise_rejects_dom(t, 'NotSupportedError', ndef.makeReadOnly());76}, 'NDEFReader.makeReadOnly should fail when NFC HW is not supported.');77nfc_test(async () => {78 await new Promise((resolve, reject) => {79 const iframe = document.createElement('iframe');80 iframe.srcdoc = `<script>81 window.onmessage = async (message) => {82 if (message.data === "Ready") {83 try {84 const ndef = new NDEFReader();85 await ndef.makeReadOnly();86 parent.postMessage("Failure", "*");87 } catch (error) {88 if (error.name == "InvalidStateError") {89 parent.postMessage("Success", "*");90 } else {91 parent.postMessage("Failure", "*");92 }93 }94 }95 };96 </script>`;97 iframe.onload = () => iframe.contentWindow.postMessage('Ready', '*');98 document.body.appendChild(iframe);99 window.onmessage = message => {100 if (message.data == 'Success') {101 resolve();102 } else if (message.data == 'Failure') {103 reject();104 }105 }106 });107}, 'Test that WebNFC API is not accessible from iframe context.');108nfc_test(async () => {109 const ndef = new NDEFReader();110 await ndef.makeReadOnly();111}, 'NDEFReader.makeReadOnly should succeed when NFC HW is enabled');112nfc_test(async (t, mockNFC) => {113 const ndef1 = new NDEFReader();114 const ndef2 = new NDEFReader();115 // Make sure the first makeReadOnly will be pending.116 mockNFC.setPendingMakeReadOnlyCompleted(false);117 const p1 = ndef1.makeReadOnly();118 const p2 = ndef2.makeReadOnly();119 await promise_rejects_dom(t, 'AbortError', p1);120 await p2;121}, 'NDEFReader.makeReadOnly should replace all previously configured makeReadOnly operations.');122nfc_test(async () => {123 const ndef = new NDEFReader();124 const controller1 = new AbortController();125 await ndef.makeReadOnly({signal: controller1.signal});126 const controller2 = new AbortController();127 const promise = ndef.makeReadOnly({signal: controller2.signal});128 controller1.abort();129 await promise;130}, 'NDEFReader.makeReadOnly signals are independent.');131nfc_test(async (t, mockNFC) => {132 // Make sure the makeReadOnly will be pending in the mock.133 mockNFC.setPendingMakeReadOnlyCompleted(false);134 const ndef1 = new NDEFReader();135 const promise = ndef1.makeReadOnly();136 // Just to make sure the makeReadOnly() request has already reached to the137 // mock.138 const ndef2 = new NDEFReader();139 await ndef2.scan();140 mockNFC.simulateNonNDEFTagDiscovered();141 await promise_rejects_dom(t, 'NotSupportedError', promise);142}, 'NDEFReader.makeReadOnly should fail when the NFC device coming up does not expose \143NDEF technology.');144nfc_test(async (t, mockNFC) => {145 const ndef = new NDEFReader();146 mockNFC.simulateDataTransferFails();147 await promise_rejects_dom(t, 'NetworkError', ndef.makeReadOnly());...
Using AI Code Generation
1var WPT = require('wpt');2var wpt = new WPT('API_KEY');3wpt.invalid_signals(function(err, data) {4 if (err) {5 console.log(err);6 } else {7 console.log(data);8 }9});
Using AI Code Generation
1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3wpt.invalid_signals('www.google.com', function(err, data) {4 console.log(data);5});6var wpt = require('webpagetest');7var wpt = new WebPageTest('www.webpagetest.org');8wpt.test('www.google.com', function(err, data) {9 console.log(data);10});11var wpt = require('webpagetest');12var wpt = new WebPageTest('www.webpagetest.org');13wpt.testStatus('www.google.com', function(err, data) {14 console.log(data);15});16var wpt = require('webpagetest');17var wpt = new WebPageTest('www.webpagetest.org');18wpt.testResults('www.google.com', function(err, data) {19 console.log(data);20});21var wpt = require('webpagetest');22var wpt = new WebPageTest('www.webpagetest.org');23wpt.testInfo('www.google.com', function(err, data) {24 console.log(data);25});26var wpt = require('webpagetest');27var wpt = new WebPageTest('www.webpagetest.org');28wpt.testLocation('www.google.com', function(err, data) {29 console.log(data);30});31var wpt = require('webpagetest');32var wpt = new WebPageTest('www.webpagetest.org');33wpt.testLocations('www.google.com', function(err, data) {34 console.log(data);35});
Using AI Code Generation
1var wptools = require('wptools');2var page = wptools.page('Barack Obama');3page.get(function(err, resp) {4 console.log(resp);5 page.invalid_signals(function(err, resp) {6 console.log(resp);7 });8});
Using AI Code Generation
1var wptool = require('wptool');2var invalid_signals = wptool.invalid_signals;3console.log(invalid_signals([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],5));4console.log(invalid_signals([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],15));5console.log(invalid_signals([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],20));6console.log(invalid_signals([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],0));7console.log(invalid_signals([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],-5));8console.log(invalid_signals([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],undefined));9console.log(invalid_signals([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],null));10console.log(invalid_signals([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],'a'));11console.log(invalid_signals([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],{}));12console.log(invalid_signals([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],[]));13console.log(invalid_signals([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],function(){}));14console.log(invalid_signals([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],Infinity));15console.log(invalid_signals
Using AI Code Generation
1var wpt = require("wpt");2var obj = new wpt();3obj.invalid_signals("device_id", "start_time", "end_time", function (err, data) {4 if (err) {5 console.log(err);6 } else {7 console.log(data);8 }9});
Using AI Code Generation
1var wptools = require('wptools');2var page = wptools.page('Albert Einstein');3page.get_page(function(err, info, meta) {4 console.log(info.pageid);5 console.log(info.title);6 console.log(info.fullurl);7 console.log(info.url);8 console.log(info.pageimage);9 console.log(info.pageimageurl);10 console.log(info.pageimageurl_thumb);11 console.log(info.pageimageurl_small);12 console.log(info.pageimageurl_medium);13 console.log(info.pageimageurl_large);14 console.log(info.pageimageurl_original);15 console.log(info.pageimageflag);16 console.log(info.pageimageid);17 console.log(info.pageimageid_thumb);18 console.log(info.pageimageid_small);19 console.log(info.pageimageid_medium);20 console.log(info.pageimageid_large);21 console.log(info.pageimageid_original);22 console.log(info.pageimagelicense);23 console.log(info.pageimagelicenseurl);24 console.log(info.pageimagelicenseflag);25 console.log(info.pageimagelicenseid);26 console.log(info.pageimagelicenseid_thumb);27 console.log(info.pageimagelicenseid_small);28 console.log(info.pageimagelicenseid_medium);29 console.log(info.pageimagelicenseid_large);30 console.log(info.pageimagelicenseid_original);31 console.log(info.pageimagelicenseflag);32 console.log(info.pageimagelicenseid);33 console.log(info.pageimagelicenseid_thumb);34 console.log(info.pageimagelicenseid_small);35 console.log(info.pageimagelicenseid_medium);36 console.log(info.pageimagelicenseid_large);37 console.log(info.pageimagelicenseid_original);38 console.log(info.pageimagelicenseflag);39 console.log(info.pageimagelicenseid);40 console.log(info.pageimagelicenseid_thumb);41 console.log(info.pageimagelicenseid_small);42 console.log(info.pageimagelicenseid_medium);43 console.log(info.pageimagelicenseid_large);44 console.log(info.pageimagelicenseid_original);45 console.log(info.pageimagelicenseflag);46 console.log(info.pageimagelicenseid);47 console.log(info.pageimagelicenseid_thumb);48 console.log(info.pageimagelicenseid_small);49 console.log(info.pageimagelicenseid_medium);50 console.log(info.pageimagelicenseid_large);51 console.log(info.pageimagelicenseid_original);52 console.log(info.page
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!