Bug 1590079 [wpt PR 19805] - s/NFC/NDEF/g in NFC interfaces and dictionaries, a=testonly

Automatic update from web-platform-tests
s/NFC/NDEF/g in NFC interfaces and dictionaries (#19805)

This CL renames NFCReader to NDEFReader, NFCWriter to NDEFWriter,
NFCReadingEvent to NDEFReadingEvent, NFCScanOptions to NDEFScanOptions,
NFCPushOptions to NDEFPushOptions, and NFCError to NDEFError as
suggested in Web NFC spec at https://github.com/w3c/web-nfc/pull/392

Bug: 520391
Change-Id: Ifc7d26d68b76bbf771a83cba94fc275819c28cfb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1869227
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Rijubrata Bhaumik <rijubrata.bhaumik@intel.com>
Commit-Queue: François Beaufort <beaufort.francois@gmail.com>
Cr-Commit-Position: refs/heads/master@{#707736}
--

wpt-commits: 9f8e5f67582ccdef98faa436aa5996f2b6ffe207
wpt-pr: 19805
This commit is contained in:
Stephen McGruer 2019-10-22 17:48:00 +00:00 коммит произвёл James Graham
Родитель 5bbe31f9d1
Коммит e348e88e01
14 изменённых файлов: 216 добавлений и 216 удалений

Просмотреть файл

@ -1,14 +1,14 @@
'use strict';
function toMojoNFCPushTarget(target) {
function toMojoNDEFPushTarget(target) {
switch (target) {
case 'peer':
return device.mojom.NFCPushTarget.PEER;
return device.mojom.NDEFPushTarget.PEER;
case 'tag':
return device.mojom.NFCPushTarget.TAG;
return device.mojom.NDEFPushTarget.TAG;
}
return device.mojom.NFCPushTarget.ANY;
return device.mojom.NDEFPushTarget.ANY;
}
// Converts between NDEFMessageInit https://w3c.github.io/web-nfc/#dom-ndefmessage
@ -65,9 +65,9 @@ function compareNDEFRecords(providedRecord, receivedRecord) {
new Uint8Array(receivedRecord.data));
}
// Compares NFCPushOptions structures that were provided to API and
// Compares NDEFPushOptions structures that were provided to API and
// received by the mock mojo service.
function assertNFCPushOptionsEqual(provided, received) {
function assertNDEFPushOptionsEqual(provided, received) {
if (provided.ignoreRead !== undefined)
assert_equals(provided.ignoreRead, !!received.ignoreRead);
else
@ -79,14 +79,14 @@ function assertNFCPushOptionsEqual(provided, received) {
assert_equals(received.timeout, Infinity);
if (provided.target !== undefined)
assert_equals(toMojoNFCPushTarget(provided.target), received.target);
assert_equals(toMojoNDEFPushTarget(provided.target), received.target);
else
assert_equals(received.target, device.mojom.NFCPushTarget.ANY);
assert_equals(received.target, device.mojom.NDEFPushTarget.ANY);
}
// Compares NFCReaderOptions structures that were provided to API and
// Compares NDEFReaderOptions structures that were provided to API and
// received by the mock mojo service.
function assertNFCReaderOptionsEqual(provided, received) {
function assertNDEFReaderOptionsEqual(provided, received) {
if (provided.url !== undefined)
assert_equals(provided.url, received.url);
else
@ -103,7 +103,7 @@ function assertNFCReaderOptionsEqual(provided, received) {
}
}
// Checks whether NFCReaderOptions are matched with given message.
// Checks whether NDEFReaderOptions are matched with given message.
function matchesWatchOptions(message, options) {
// Filter by Web NFC id.
if (!matchesWebNfcId(message.url, options.url)) return false;
@ -150,9 +150,9 @@ function matchesWebNfcId(id, pattern) {
return true;
}
function createNFCError(type) {
function createNDEFError(type) {
return { error: type ?
new device.mojom.NFCError({ errorType: type }) : null };
new device.mojom.NDEFError({ errorType: type }) : null };
}
var WebNFCTest = (() => {
@ -201,21 +201,21 @@ var WebNFCTest = (() => {
// Resolve with TimeoutError, else pend push operation.
if (this.push_should_timeout_) {
resolve(
createNFCError(device.mojom.NFCErrorType.TIMER_EXPIRED));
createNDEFError(device.mojom.NDEFErrorType.TIMER_EXPIRED));
}
} else {
resolve(createNFCError(null));
resolve(createNDEFError(null));
}
});
}
async cancelPush(target) {
if (this.push_options_ && ((target === device.mojom.NFCPushTarget.ANY) ||
if (this.push_options_ && ((target === device.mojom.NDEFPushTarget.ANY) ||
(this.push_options_.target === target))) {
this.cancelPendingPushOperation();
}
return createNFCError(null);
return createNDEFError(null);
}
setClient(client) {
@ -241,33 +241,33 @@ var WebNFCTest = (() => {
}
}
return createNFCError(null);
return createNDEFError(null);
}
async cancelWatch(id) {
let index = this.watchers_.findIndex(value => value.id === id);
if (index === -1) {
return createNFCError(device.mojom.NFCErrorType.NOT_FOUND);
return createNDEFError(device.mojom.NDEFErrorType.NOT_FOUND);
}
this.watchers_.splice(index, 1);
return createNFCError(null);
return createNDEFError(null);
}
async cancelAllWatches() {
if (this.watchers_.length === 0) {
return createNFCError(device.mojom.NFCErrorType.NOT_FOUND);
return createNDEFError(device.mojom.NDEFErrorType.NOT_FOUND);
}
this.watchers_.splice(0, this.watchers_.length);
return createNFCError(null);
return createNDEFError(null);
}
getHWError() {
if (this.hw_status_ === NFCHWStatus.DISABLED)
return createNFCError(device.mojom.NFCErrorType.NOT_READABLE);
return createNDEFError(device.mojom.NDEFErrorType.NOT_READABLE);
if (this.hw_status_ === NFCHWStatus.NOT_SUPPORTED)
return createNFCError(device.mojom.NFCErrorType.NOT_SUPPORTED);
return createNDEFError(device.mojom.NDEFErrorType.NOT_SUPPORTED);
return null;
}
@ -306,7 +306,7 @@ var WebNFCTest = (() => {
cancelPendingPushOperation() {
if (this.pending_promise_func_) {
this.pending_promise_func_(
createNFCError(device.mojom.NFCErrorType.OPERATION_CANCELLED));
createNDEFError(device.mojom.NDEFErrorType.OPERATION_CANCELLED));
}
this.pushed_message_ = null;
@ -321,7 +321,7 @@ var WebNFCTest = (() => {
this.reading_messages_.push(message);
// Ignore reading if NFC operation is suspended.
if(this.operations_suspended_) return;
// Ignore reading if NFCPushOptions.ignoreRead is true.
// Ignore reading if NDEFPushOptions.ignoreRead is true.
if(this.push_options_ && this.push_options_.ignoreRead)
return;
// Triggers onWatch if the new message matches existing watchers.
@ -359,7 +359,7 @@ var WebNFCTest = (() => {
}
// Resumes pending push operation.
if (this.pending_promise_func_) {
this.pending_promise_func_(createNFCError(null));
this.pending_promise_func_(createNDEFError(null));
}
}
}

Просмотреть файл

@ -0,0 +1,20 @@
<!DOCTYPE html>
<title>NDEFErrorEvent constructor</title>
<link rel="help" href="https://w3c.github.io/web-nfc/#dom-ndeferrorevent">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(() => {
assert_equals(NDEFErrorEvent.length, 2);
assert_throws(new TypeError, () => new NDEFErrorEvent('error'));
}, 'NDEFErrorEvent constructor without init dict');
test(() => {
assert_throws(new TypeError, () => new NDEFErrorEvent('error', { error : null }));
}, 'NDEFErrorEvent constructor with a null that is not of type DOMException');
test(() => {
const event = new NDEFErrorEvent('error', { error : new DOMException() });
assert_true(event.error instanceof DOMException);
}, 'NDEFErrorEvent constructor with a valid DOMException');
</script>

Просмотреть файл

@ -1,14 +1,14 @@
<!DOCTYPE html>
<meta charset="utf-8">
<meta name="timeout" content="long">
<title>NFCReader.onreading respect page visibility changes</title>
<title>NDEFReader.onreading respect page visibility changes</title>
<link rel="help" href="https://w3c.github.io/web-nfc/#visible-document">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
promise_test(async t => {
const reader = new NFCReader();
const reader = new NDEFReader();
reader.scan();
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
@ -18,7 +18,7 @@ promise_test(async t => {
resolve();
});
});
}, "Test NFCReader.onreading is not fired when document is hidden");
}, "Test NDEFReader.onreading is not fired when document is hidden");
</script>

Просмотреть файл

@ -1,6 +1,6 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>Web NFC: NFCReader option tests</title>
<title>Web NFC: NDEFReader option tests</title>
<link rel="author" title="Intel" href="http://www.intel.com"/>
<link rel="help" href="https://w3c.github.io/web-nfc/"/>
<script src="/resources/testharness.js"></script>
@ -10,45 +10,45 @@
'use strict';
const NFCReaderOptionTests =
const NDEFReaderOptionTests =
[
{
desc: "Test that reading data succeed when NFCScanOptions'" +
desc: "Test that reading data succeed when NDEFScanOptions'" +
" recordType is set to 'empty'.",
scanOptions: {recordType: "empty"},
unmatchedScanOptions: {recordType: "json"},
message: createMessage([createRecord('empty', '')])
},
{
desc: "Test that reading data succeed when NFCScanOptions'" +
desc: "Test that reading data succeed when NDEFScanOptions'" +
" recordType is set to 'json'.",
scanOptions: {recordType: "json"},
unmatchedScanOptions: {recordType: "url"},
message: createMessage([createJsonRecord(test_json_data)])
},
{
desc: "Test that reading data succeed when NFCScanOptions'" +
desc: "Test that reading data succeed when NDEFScanOptions'" +
" recordType is set to 'opaque'.",
scanOptions: {recordType: "opaque"},
unmatchedScanOptions: {recordType: "json"},
message: createMessage([createOpaqueRecord(test_buffer_data)])
},
{
desc: "Test that reading data succeed when NFCScanOptions'" +
desc: "Test that reading data succeed when NDEFScanOptions'" +
" recordType is set to 'text'.",
scanOptions: {recordType: "text"},
unmatchedScanOptions: {recordType: "json"},
message: createMessage([createTextRecord(test_text_data)])
},
{
desc: "Test that reading data succeed when NFCScanOptions'" +
desc: "Test that reading data succeed when NDEFScanOptions'" +
" recordType is set to 'url'.",
scanOptions: {recordType: "url"},
unmatchedScanOptions: {recordType: "json"},
message: createMessage([createUrlRecord(test_url_data)])
},
{
desc: "Test that reading data succeed when NFCScanOptions'" +
desc: "Test that reading data succeed when NDEFScanOptions'" +
" recordType is set to a custom type for external type records.",
scanOptions: {recordType: "w3.org:xyz"},
unmatchedScanOptions: {recordType: "opaque"},
@ -56,7 +56,7 @@ const NFCReaderOptionTests =
test_buffer_data)])
},
{
desc: "Test that the url of NFCScanOptions filters relevant data" +
desc: "Test that the url of NDEFScanOptions filters relevant data" +
" sources correctly.",
scanOptions: {url: `${location.origin}/custom/path`},
unmatchedScanOptions: {url: `${location.origin}/custom/invalid`},
@ -64,7 +64,7 @@ const NFCReaderOptionTests =
records: [createTextRecord(test_text_data)]}
},
{
desc: "Test that the mediaType of NFCScanOptions filters relevant data" +
desc: "Test that the mediaType of NDEFScanOptions filters relevant data" +
" sources correctly.",
scanOptions: {mediaType: "application/octet-stream"},
unmatchedScanOptions: {mediaType: "application/json"},
@ -76,42 +76,42 @@ const ReadMultiMessagesTests =
[
{
desc: "Test that filtering 'empty' record from different messages" +
" correctly with NFCScanOptions' recordType is set to 'empty'.",
" correctly with NDEFScanOptions' recordType is set to 'empty'.",
scanOptions: {recordType: "empty"},
message: createMessage([createRecord('empty', '')]),
unmatchedMessage: createMessage([createJsonRecord(test_json_data)]),
},
{
desc: "Test that filtering 'json' record from different messages" +
" correctly with NFCScanOptions' recordType is set to 'json'.",
" correctly with NDEFScanOptions' recordType is set to 'json'.",
scanOptions: {recordType: "json"},
message: createMessage([createJsonRecord(test_json_data)]),
unmatchedMessage: createMessage([createUrlRecord(test_url_data)])
},
{
desc: "Test that filtering 'opaque' record from different messages" +
" correctly with NFCScanOptions' recordType is set to 'opaque'.",
" correctly with NDEFScanOptions' recordType is set to 'opaque'.",
scanOptions: {recordType: "opaque"},
message: createMessage([createOpaqueRecord(test_buffer_data)]),
unmatchedMessage: createMessage([createJsonRecord(test_json_data)])
},
{
desc: "Test that filtering 'text' record from different messages" +
" correctly with NFCScanOptions' recordType is set to 'text'.",
" correctly with NDEFScanOptions' recordType is set to 'text'.",
scanOptions: {recordType: "text"},
message: createMessage([createTextRecord(test_text_data)]),
unmatchedMessage: createMessage([createUrlRecord(test_url_data)])
},
{
desc: "Test that filtering 'url' record from different messages" +
" correctly with NFCScanOptions' recordType is set to 'url'.",
" correctly with NDEFScanOptions' recordType is set to 'url'.",
scanOptions: {recordType: "url"},
message: createMessage([createUrlRecord(test_url_data)]),
unmatchedMessage: createMessage([createTextRecord(test_text_data)])
},
{
desc: "Test that filtering external record from different messages" +
" correctly with NFCScanOptions' recordType is set to the custom type.",
" correctly with NDEFScanOptions' recordType is set to the custom type.",
scanOptions: {recordType: "w3.org:xyz"},
message: createMessage([createRecord('w3.org:xyz', 'application/octet-stream',
test_buffer_data)]),
@ -119,7 +119,7 @@ const ReadMultiMessagesTests =
},
{
desc: "Test that filtering 'text' record from different messages" +
" correctly with NFCScanOptions' url set.",
" correctly with NDEFScanOptions' url set.",
scanOptions: {url: `${location.origin}/custom/path`},
message: {url: `${location.origin}/custom/path/update`,
records: [createTextRecord(test_text_data)]},
@ -128,19 +128,19 @@ const ReadMultiMessagesTests =
},
{
desc: "Test that filtering 'opaque' record from different messages" +
" correctly with NFCScanOptions' mediaType set.",
" correctly with NDEFScanOptions' mediaType set.",
scanOptions: {mediaType: "application/octet-stream"},
message: createMessage([createOpaqueRecord(test_buffer_data)]),
unmatchedMessage: createMessage([createJsonRecord(test_json_data)])
}
];
for (let NFCReaderOptionTest of NFCReaderOptionTests) {
testNFCScanOptions(
NFCReaderOptionTest.message,
NFCReaderOptionTest.scanOptions,
NFCReaderOptionTest.unmatchedScanOptions,
NFCReaderOptionTest.desc
for (let NDEFReaderOptionTest of NDEFReaderOptionTests) {
testNDEFScanOptions(
NDEFReaderOptionTest.message,
NDEFReaderOptionTest.scanOptions,
NDEFReaderOptionTest.unmatchedScanOptions,
NDEFReaderOptionTest.desc
);
}

Просмотреть файл

@ -1,6 +1,6 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>Web NFC: NFCReader.scan tests</title>
<title>Web NFC: NDEFReader.scan tests</title>
<link rel="author" title="Intel" href="http://www.intel.com"/>
<link rel="help" href="https://w3c.github.io/web-nfc/"/>
<script src="/resources/testharness.js"></script>
@ -21,128 +21,128 @@ const invalid_signals = [
];
function waitSyntaxErrorPromise(t, scan_options) {
const reader = new NFCReader();
const reader = new NDEFReader();
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
const promise = readerWatcher.wait_for("error").then(event => {
assert_equals(event.error.name, 'SyntaxError');
});
// NFCReader#scan() asynchronously dispatches the syntax error event.
// NDEFReader#scan() asynchronously dispatches the syntax error event.
reader.scan(scan_options);
return promise;
}
promise_test(async t => {
await waitSyntaxErrorPromise(t, {url: "www.a.com"});
}, "Test that NFCReader.scan fails if NFCScanOptions.url is missing \
}, "Test that NDEFReader.scan fails if NDEFScanOptions.url is missing \
components.");
promise_test(async t => {
await waitSyntaxErrorPromise(t, {url: "invalid"});
}, "Test that NFCReader.scan fails if NFCScanOptions.url is invalid.");
}, "Test that NDEFReader.scan fails if NDEFScanOptions.url is invalid.");
promise_test(async t => {
await waitSyntaxErrorPromise(t, {url: "http://a.com"});
}, "Test that NFCReader.scan fails if NFCScanOptions.url has wrong \
}, "Test that NDEFReader.scan fails if NDEFScanOptions.url has wrong \
protocol.");
nfc_test(async (t, mockNFC) => {
const reader = new NFCReader();
const reader = new NDEFReader();
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
reader.scan();
mockNFC.setHWStatus(NFCHWStatus.DISABLED);
const event = await readerWatcher.wait_for("error");
assert_equals(event.error.name, 'NotReadableError');
}, "NFCReader.scan should fail if NFC HW is disabled.");
}, "NDEFReader.scan should fail if NFC HW is disabled.");
nfc_test(async (t, mockNFC) => {
const reader = new NFCReader();
const reader = new NDEFReader();
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
reader.scan();
mockNFC.setHWStatus(NFCHWStatus.NOT_SUPPORTED);
const event = await readerWatcher.wait_for("error");
assert_equals(event.error.name, 'NotSupportedError');
}, "NFCReader.scan should fail if NFC HW is not supported.");
}, "NDEFReader.scan should fail if NFC HW is not supported.");
nfc_test(async (t, mockNFC) => {
const reader = new NFCReader();
const reader = new NDEFReader();
const controller = new AbortController();
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
mockNFC.setReadingMessage(createMessage([createTextRecord(test_text_data)]));
const promise = readerWatcher.wait_for("reading").then(event => {
assert_true(event instanceof NFCReadingEvent);
assert_true(event instanceof NDEFReadingEvent);
controller.abort();
});
// NFCReader#scan() asynchronously dispatches the reading event.
// NDEFReader#scan() asynchronously dispatches the reading event.
reader.scan({signal : controller.signal});
await promise;
}, "Test that nfc watch success if NFC HW is enabled.");
nfc_test(async (t, mockNFC) => {
const reader = new NFCReader();
const reader = new NDEFReader();
const controller = new AbortController();
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
mockNFC.setReadingMessage(createMessage([createTextRecord(test_text_data)]));
const promise = readerWatcher.wait_for("reading").then(event => {
assert_true(event instanceof NFCReadingEvent);
assert_true(event instanceof NDEFReadingEvent);
controller.abort();
});
// NFCReader#scan() asynchronously dispatches the reading event.
// NDEFReader#scan() asynchronously dispatches the reading event.
reader.scan({signal : controller.signal, url: "https://a.com"});
await promise;
}, "Test that NFCReader.scan succeeds if NFCScanOptions.url is valid URL.");
}, "Test that NDEFReader.scan succeeds if NDEFScanOptions.url is valid URL.");
nfc_test(async (t, mockNFC) => {
const reader = new NFCReader();
const reader = new NDEFReader();
const controller = new AbortController();
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
mockNFC.setReadingMessage(createMessage([createTextRecord(test_text_data)]));
const promise = readerWatcher.wait_for("reading").then(event => {
assert_true(event instanceof NFCReadingEvent);
assert_true(event instanceof NDEFReadingEvent);
controller.abort();
});
// NFCReader#scan() asynchronously dispatches the reading event.
// NDEFReader#scan() asynchronously dispatches the reading event.
reader.scan({signal : controller.signal, url: "https://a.com/*"});
await promise;
}, "Test that NFCReader.scan succeeds if NFCScanOptions.url is valid URL \
}, "Test that NDEFReader.scan succeeds if NDEFScanOptions.url is valid URL \
with '*' wildcard character in path.");
nfc_test(async (t, mockNFC) => {
const reader = new NFCReader();
const reader = new NDEFReader();
const controller = new AbortController();
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
mockNFC.setReadingMessage(createMessage([createTextRecord(test_text_data)]));
const promise = readerWatcher.wait_for("reading").then(event => {
assert_true(event instanceof NFCReadingEvent);
assert_true(event instanceof NDEFReadingEvent);
controller.abort();
});
// NFCReader#scan() asynchronously dispatches the reading event.
// NDEFReader#scan() asynchronously dispatches the reading event.
reader.scan({signal : controller.signal, url: "https://a.com/*/bar"});
await promise;
}, "Test that NFCReader.scan succeeds if NFCScanOptions.url is valid URL \
}, "Test that NDEFReader.scan succeeds if NDEFScanOptions.url is valid URL \
with '*' wildcard character in the beginning of path component followed by \
subpath.");
nfc_test(async (t, mockNFC) => {
const reader = new NFCReader();
const reader = new NDEFReader();
const controller = new AbortController();
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
mockNFC.setReadingMessage(createMessage([createTextRecord(test_text_data)]));
const promise = readerWatcher.wait_for("reading").then(event => {
assert_true(event instanceof NFCReadingEvent);
assert_true(event instanceof NDEFReadingEvent);
controller.abort();
});
// NFCReader#scan() asynchronously dispatches the reading event.
// NDEFReader#scan() asynchronously dispatches the reading event.
reader.scan({signal : controller.signal, url: ""});
await promise;
}, "Test that NFCReader.scan succeeds if NFCScanOptions.url is empty.");
}, "Test that NDEFReader.scan succeeds if NDEFScanOptions.url is empty.");
nfc_test(async (t, mockNFC) => {
const reader = new NFCReader();
const reader = new NDEFReader();
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
mockNFC.setReadingMessage(createMessage([createTextRecord(test_text_data)]));
@ -157,11 +157,11 @@ nfc_test(async (t, mockNFC) => {
t.step_timeout(resolve, 100);
});
}, "Test that NFCReader.onreading should not be fired if NFCScanOptions.signal \
}, "Test that NDEFReader.onreading should not be fired if NDEFScanOptions.signal \
is aborted.");
nfc_test(async (t, mockNFC) => {
const reader = new NFCReader();
const reader = new NDEFReader();
const controller = new AbortController();
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
const message = createMessage([createTextRecord(test_text_data)]);
@ -170,7 +170,7 @@ nfc_test(async (t, mockNFC) => {
reader.scan({signal: controller.signal});
const event = await readerWatcher.wait_for("reading");
assert_true(event instanceof NFCReadingEvent);
assert_true(event instanceof NDEFReadingEvent);
mockNFC.setReadingMessage(message);
controller.abort();
@ -184,11 +184,11 @@ nfc_test(async (t, mockNFC) => {
}, "Synchronously signaled abort.");
test(() => {
const reader = new NFCReader();
const reader = new NDEFReader();
invalid_signals.forEach(invalid_signal => {
assert_throws(new TypeError(),
() => { reader.scan({ signal: invalid_signal }); });
});
}, "NFCReader.scan should fail if signal is not an AbortSignal.");
}, "NDEFReader.scan should fail if signal is not an AbortSignal.");
</script>

Просмотреть файл

@ -1,6 +1,6 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>NFCWriter.scan with an focused iframe</title>
<title>NDEFWriter.scan with an focused iframe</title>
<link rel="help" href="https://w3c.github.io/web-nfc/"/>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
@ -9,12 +9,12 @@
<script>
nfc_test(async (t, mockNFC) => {
const reader = new NFCReader();
const reader = new NDEFReader();
const controller = new AbortController();
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
const promise = readerWatcher.wait_for("reading").then(event => {
assert_true(event instanceof NFCReadingEvent);
assert_true(event instanceof NDEFReadingEvent);
controller.abort();
});
reader.scan({ signal: controller.signal });
@ -37,7 +37,7 @@ nfc_test(async (t, mockNFC) => {
// Remove iframe from main document.
iframe.parentNode.removeChild(iframe);
}, 'Test that NFCWriter.scan is not suspended if iframe gains focus.');
}, 'Test that NDEFWriter.scan is not suspended if iframe gains focus.');
</script>
</body>

Просмотреть файл

@ -1,40 +1,40 @@
<!DOCTYPE html>
<title>NFCReadingEvent constructor</title>
<link rel="help" href="https://w3c.github.io/web-nfc/#dom-nfcreadingevent">
<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(NFCReadingEvent.length, 2);
assert_throws(new TypeError, () => new NFCReadingEvent('message'));
}, 'NFCReadingEvent constructor without init dict');
assert_equals(NDEFReadingEvent.length, 2);
assert_throws(new TypeError, () => new NDEFReadingEvent('message'));
}, 'NDEFReadingEvent constructor without init dict');
test(() => {
const message = createMessage([createJsonRecord(test_json_data)]);
const event = new NFCReadingEvent('type', {serialNumber: null, message: message});
const event = new NDEFReadingEvent('type', {serialNumber: null, message: message});
assert_equals(event.serialNumber, '', 'serialNumber');
}, 'NFCReadingEvent constructor with null serialNumber');
}, 'NDEFReadingEvent constructor with null serialNumber');
test(() => {
const message = createMessage([createJsonRecord(test_json_data)]);
const event = new NFCReadingEvent('type', {message: message});
const event = new NDEFReadingEvent('type', {message: message});
assert_equals(event.serialNumber, '', 'serialNumber');
}, 'NFCReadingEvent constructor with serialNumber not present');
}, 'NDEFReadingEvent constructor with serialNumber not present');
test(() => {
const event = new NFCReadingEvent('type', {serialNumber: '', message: null});
const event = new NDEFReadingEvent('type', {serialNumber: '', message: null});
assert_equals(0, event.message.records.length, 'no records');
assert_equals(0, event.message.url.length, 'empty url');
}, 'NFCReadingEvent constructor with null message');
}, 'NDEFReadingEvent constructor with null message');
test(() => {
const message = createMessage([createJsonRecord(test_json_data)]);
const event = new NFCReadingEvent('type', {serialNumber: '', message: message});
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));
}, 'NFCReadingEvent constructor with valid parameters');
}, 'NDEFReadingEvent constructor with valid parameters');
</script>

Просмотреть файл

@ -1,7 +1,7 @@
<!DOCTYPE html>
<meta charset="utf-8">
<meta name="timeout" content="long">
<title>NFCWriter.push respect page visibility changes</title>
<title>NDEFWriter.push respect page visibility changes</title>
<link rel="help" href="https://w3c.github.io/web-nfc/#visible-document">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
@ -9,7 +9,7 @@
<script>
promise_test(async t => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
const p1 = writer.push(test_text_data);
return await new Promise((resolve, reject) => {
@ -20,7 +20,7 @@ promise_test(async t => {
reject();
});
});
}, "Test NFCWriter.push operation should be suspend when document is not visible");
}, "Test NDEFWriter.push operation should be suspend when document is not visible");
</script>

Просмотреть файл

@ -1,6 +1,6 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>Web NFC: NFCWriter.push Tests</title>
<title>Web NFC: NDEFWriter.push Tests</title>
<link rel="author" title="Intel" href="http://www.intel.com"/>
<link rel="help" href="https://w3c.github.io/web-nfc/"/>
<script src="/resources/testharness.js"></script>
@ -92,7 +92,7 @@ const invalid_signals = [
];
promise_test(async t => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
const promises = [];
invalid_type_messages.forEach(message => {
promises.push(
@ -102,7 +102,7 @@ promise_test(async t => {
}, "Test that promise is rejected with TypeError if NDEFMessageSource is invalid.");
promise_test(async t => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
const promises = [];
invalid_syntax_messages.forEach(message => {
promises.push(
@ -113,7 +113,7 @@ promise_test(async t => {
invalid records.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
const controller = new AbortController();
//Make sure push is pending
@ -131,31 +131,31 @@ nfc_test(async (t, mockNFC) => {
});
await rejected;
assert_true(callback_called, 'timeout should have caused the abort');
}, "NFCWriter.push should fail if abort push request before push happends.");
}, "NDEFWriter.push should fail if abort push request before push happends.");
promise_test(async t => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
const controller = new AbortController();
assert_false(controller.signal.aborted);
controller.abort();
assert_true(controller.signal.aborted);
await promise_rejects(t, 'AbortError',
writer.push(test_text_data, { signal: controller.signal }));
}, "NFCWriter.push should fail if signal's aborted flag is set.");
}, "NDEFWriter.push should fail if signal's aborted flag is set.");
promise_test(async t => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
const promises = [];
invalid_signals.forEach(invalid_signal => {
promises.push(promise_rejects(t, new TypeError(),
writer.push(test_text_data, { signal: invalid_signal })));
});
await Promise.all(promises);
}, "NFCWriter.push should fail if signal is not an AbortSignal.");
}, "NDEFWriter.push should fail if signal is not an AbortSignal.");
nfc_test(async (t, mockNFC) => {
const writer1 = new NFCWriter();
const writer2 = new NFCWriter();
const writer1 = new NDEFWriter();
const writer2 = new NDEFWriter();
const controller = new AbortController();
mockNFC.setPendingPushCompleted(false);
const p1 = writer1.push(test_text_data,
@ -171,47 +171,47 @@ nfc_test(async (t, mockNFC) => {
}, "Synchronously signaled abort.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
mockNFC.setHWStatus(NFCHWStatus.DISABLED);
await promise_rejects(t, 'NotReadableError', writer.push(test_text_data));
}, "NFCWriter.push should fail when NFC HW is disabled.");
}, "NDEFWriter.push should fail when NFC HW is disabled.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
mockNFC.setHWStatus(NFCHWStatus.NOT_SUPPORTED);
await promise_rejects(t, 'NotSupportedError', writer.push(test_text_data));
}, "NFCWriter.push should fail when NFC HW is not supported.");
}, "NDEFWriter.push should fail when NFC HW is not supported.");
promise_test(async t => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await promise_rejects(
t, new TypeError(), writer.push(test_text_data, { timeout: "invalid"}));
}, "NFCWriter.push should fail with TypeError when invalid timeout is \
}, "NDEFWriter.push should fail with TypeError when invalid timeout is \
provided.");
promise_test(async t => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await promise_rejects(
t, new TypeError(), writer.push(test_text_data, { timeout: -1 }));
}, "NFCWriter.push should fail with TypeError when invalid negative timeout \
}, "NDEFWriter.push should fail with TypeError when invalid negative timeout \
value is provided.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
mockNFC.setPendingPushCompleted(false);
const p = writer.push(test_text_data, { timeout: 1 });
mockNFC.setPushShouldTimeout(true);
await promise_rejects(t, 'TimeoutError', p);
}, "NFCWriter.push should fail with TimeoutError when timer expires.");
}, "NDEFWriter.push should fail with TimeoutError when timer expires.");
promise_test(async t => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await promise_rejects(
t, 'NotSupportedError', writer.push(new ArrayBuffer(32 * 1024 + 1)));
}, "Reject promise with NotSupportedError if NFC message size exceeds 32KB.");
promise_test(async t => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
const message = createMessage([createTextRecord(test_text_data)]);
message.url = '%00/invalid/ path';
await promise_rejects(t, 'SyntaxError', writer.push(message));
@ -219,17 +219,17 @@ promise_test(async t => {
provided URL.");
promise_test(async t => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
const message = createMessage([createRecord('json','application/json',
{ get x(){ return this; } })]);
await promise_rejects(t, new TypeError(), writer.push(message));
}, "Reject promise with exceptions thrown from serializing the 'json' record data.");
promise_test(async t => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await promise_rejects(
t, new TypeError(), writer.push(test_text_data, {target: "invalid"}));
}, "NFCWriter.push should fail with TypeError when invalid target value is \
}, "NDEFWriter.push should fail with TypeError when invalid target value is \
provided.");
promise_test(async () => {
@ -249,7 +249,7 @@ promise_test(async () => {
}
};
try {
const writer = new NFCWriter();
const writer = new NDEFWriter();
writer.push("Test").then(onSuccess, onError);
} catch(e) {
parent.postMessage("Failure", "*");
@ -270,12 +270,12 @@ promise_test(async () => {
}, 'Test that WebNFC API is not accessible from iframe context.');
nfc_test(async () => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push(test_text_data, { timeout: 1 });
}, 'NFCWriter.push should succeed when NFC HW is enabled');
}, 'NDEFWriter.push should succeed when NFC HW is enabled');
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
let message = createMessage([createTextRecord(test_text_data),
createJsonRecord(test_json_data),
createJsonRecord(test_number_data),
@ -285,42 +285,42 @@ nfc_test(async (t, mockNFC) => {
test_message_origin);
await writer.push(message);
assertNDEFMessagesEqual(message, mockNFC.pushedMessage());
}, "NFCWriter.push NDEFMessage containing text, json, opaque, url and external records \
with default NFCPushOptions.");
}, "NDEFWriter.push NDEFMessage containing text, json, opaque, url and external records \
with default NDEFPushOptions.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push(test_text_data);
assertNDEFMessagesEqual(test_text_data, mockNFC.pushedMessage());
}, "Test that NFCWriter.push succeeds when message is DOMString.");
}, "Test that NDEFWriter.push succeeds when message is DOMString.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push(test_buffer_data);
assertNDEFMessagesEqual(test_buffer_data, mockNFC.pushedMessage());
}, "Test that NFCWriter.push succeeds when message is ArrayBuffer.");
}, "Test that NDEFWriter.push succeeds when message is ArrayBuffer.");
nfc_test(async () => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push(createMessage([createRecord('empty')]));
}, "NFCWriter.push with 'empty' record should succeed.");
}, "NDEFWriter.push with 'empty' record should succeed.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push(test_text_data);
assertNFCPushOptionsEqual(createNFCPushOptions('any', Infinity, true),
assertNDEFPushOptionsEqual(createNDEFPushOptions('any', Infinity, true),
mockNFC.pushOptions());
}, "Check that default NFCPushOptions values are correctly set.");
}, "Check that default NDEFPushOptions values are correctly set.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
let nfcPushOptions = createNFCPushOptions('tag', 1, false);
await writer.push(test_text_data, nfcPushOptions);
assertNFCPushOptionsEqual(nfcPushOptions, mockNFC.pushOptions());
}, "Check that provided NFCPushOptions values are correctly converted.");
const writer = new NDEFWriter();
let ndefPushOptions = createNDEFPushOptions('tag', 1, false);
await writer.push(test_text_data, ndefPushOptions);
assertNDEFPushOptionsEqual(ndefPushOptions, mockNFC.pushOptions());
}, "Check that provided NDEFPushOptions values are correctly converted.");
nfc_test(async (t, mockNFC) => {
const reader = new NFCReader();
const reader = new NDEFReader();
const message = createMessage([createTextRecord(test_text_data)]);
const controller = new AbortController();
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
@ -331,34 +331,34 @@ nfc_test(async (t, mockNFC) => {
reader.scan({ signal: controller.signal });
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push(test_text_data, { ignoreRead: false });
mockNFC.setReadingMessage(message);
assertNDEFMessagesEqual(test_text_data, mockNFC.pushedMessage());
await promise;
}, "NFCWriter.push should read data when ignoreRead is false.");
}, "NDEFWriter.push should read data when ignoreRead is false.");
nfc_test(async (t, mockNFC) => {
const reader = new NFCReader();
const reader = new NDEFReader();
const message = createMessage([createTextRecord(test_text_data)]);
// Ignore reading if NFCPushOptions.ignoreRead is true
// Ignore reading if NDEFPushOptions.ignoreRead is true
reader.onreading = t.unreached_func("reading event should not be fired.");
reader.scan();
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push(test_text_data, { ignoreRead: true });
mockNFC.setReadingMessage(message);
assertNDEFMessagesEqual(test_text_data, mockNFC.pushedMessage());
}, "NFCWriter.push should ignore reading data when ignoreRead is true.");
}, "NDEFWriter.push should ignore reading data when ignoreRead is true.");
nfc_test(async (t, mockNFC) => {
const writer1 = new NFCWriter();
const writer2 = new NFCWriter();
const writer1 = new NDEFWriter();
const writer2 = new NDEFWriter();
const nfcPushOptions1 = createNFCPushOptions('tag', 1000, false);
const nfcPushOptions2 = createNFCPushOptions('tag', Infinity, true);
const p1 = writer1.push(test_text_data, nfcPushOptions1);
const p2 = writer2.push(test_url_data, nfcPushOptions2);
const ndefPushOptions1 = createNDEFPushOptions('tag', 1000, false);
const ndefPushOptions2 = createNDEFPushOptions('tag', Infinity, true);
const p1 = writer1.push(test_text_data, ndefPushOptions1);
const p2 = writer2.push(test_url_data, ndefPushOptions2);
await new Promise((resolve, reject) => {
// Make first push pending
@ -371,29 +371,29 @@ nfc_test(async (t, mockNFC) => {
});
p2.then(() => {
assertNDEFMessagesEqual(test_url_data, mockNFC.pushedMessage());
assertNFCPushOptionsEqual(nfcPushOptions2, mockNFC.pushOptions());
assertNDEFPushOptionsEqual(ndefPushOptions2, mockNFC.pushOptions());
assert_equals(err, "AbortError", "the pending push should be aborted");
resolve();
});
});
}, "NFCWriter.push should replace all previously configured push operations.");
}, "NDEFWriter.push should replace all previously configured push operations.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push({ records: [{ data: test_text_data}] });
assertNDEFMessagesEqual(test_text_data, mockNFC.pushedMessage());
}, "Test that recordType should be set to 'text' if NDEFRecordInit.record's \
recordType is undefined and NDEFRecordInit.record's data is DOMString.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push({ records: [{ data: test_buffer_data}] });
assertNDEFMessagesEqual(test_buffer_data, mockNFC.pushedMessage());
}, "Test that recordType should be set to 'opaque' if NDEFRecordInit.record's \
recordType is undefined and NDEFRecordInit.record's data is ArrayBuffer.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push({ records: [{ data: test_json_data }] });
const message = createMessage([createJsonRecord(test_json_data)]);
assertNDEFMessagesEqual(message, mockNFC.pushedMessage());
@ -402,14 +402,14 @@ recordType is undefined and NDEFRecordInit.record's data is not DOMString or \
ArrayBuffer.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push({ records: [{ recordType: "text", data: test_text_data }] });
assertNDEFMessagesEqual(test_text_data, mockNFC.pushedMessage());
}, "Test that mediaType should be set to 'text/plain' if NDEFRecordInit.record's \
recordType is 'text' and NDEFRecordInit.record's mediaType is undefined.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push({ records: [{ recordType: "opaque", data: test_buffer_data }] });
assertNDEFMessagesEqual(test_buffer_data, mockNFC.pushedMessage());
}, "Test that mediaType should be set to 'application/octet-stream' if \
@ -417,7 +417,7 @@ NDEFRecordInit.record's recordType is 'opaque' and NDEFRecordInit.record's \
mediaType is undefined.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push({ records: [{ recordType: "json", data: test_json_data }] });
const message = createMessage([createJsonRecord(test_json_data)]);
assertNDEFMessagesEqual(message, mockNFC.pushedMessage());
@ -426,7 +426,7 @@ NDEFRecordInit.record's recordType is 'json' and NDEFRecordInit.record's \
mediaType is undefined.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push({ records: [{ recordType: "url", data: test_url_data }] });
const message = createMessage([createUrlRecord(test_url_data)]);
assertNDEFMessagesEqual(message, mockNFC.pushedMessage());
@ -434,7 +434,7 @@ nfc_test(async (t, mockNFC) => {
recordType is 'url' and NDEFRecordInit.record's mediaType is undefined.");
nfc_test(async (t, mockNFC) => {
const writer = new NFCWriter();
const writer = new NDEFWriter();
await writer.push({ records: [{ recordType: "w3.org:xyz", data: test_buffer_data }] });
const message = createMessage([createRecord('w3.org:xyz', 'application/octet-stream',
test_buffer_data)]);

Просмотреть файл

@ -1,20 +0,0 @@
<!DOCTYPE html>
<title>NFCErrorEvent constructor</title>
<link rel="help" href="https://w3c.github.io/web-nfc/#dom-nfcerrorevent">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(() => {
assert_equals(NFCErrorEvent.length, 2);
assert_throws(new TypeError, () => new NFCErrorEvent('error'));
}, 'NFCErrorEvent constructor without init dict');
test(() => {
assert_throws(new TypeError, () => new NFCErrorEvent('error', { error : null }));
}, 'NFCErrorEvent constructor with a null that is not of type DOMException');
test(() => {
const event = new NFCErrorEvent('error', { error : new DOMException() });
assert_true(event.error instanceof DOMException);
}, 'NFCErrorEvent constructor with a valid DOMException');
</script>

Просмотреть файл

@ -16,7 +16,7 @@ The `WebNFCTest` interface is defined as:
setPendingPushCompleted(boolean result); // Sets if the pending push is completed.
setPushShouldTimeout(boolean result); // Sets flag to trigger the pending push to timeout.
pushedMessage(); // Gets the pushed `NDEFMessageSource`.
pushOptions(); // Gets the pushed `NFCPushOptions`.
pushOptions(); // Gets the pushed `NDEFPushOptions`.
};
```

Просмотреть файл

@ -21,12 +21,12 @@ idl_test(
['html', 'dom', 'WebIDL'],
idl_array => {
idl_array.add_objects({
NFCWriter: ['new NFCWriter();'],
NFCReader: ['new NFCReader();'],
NDEFWriter: ['new NDEFWriter();'],
NDEFReader: ['new NDEFReader();'],
NDEFRecord: [`new NDEFRecord(${JSON.stringify(record)});`],
NDEFMessage: [`new NDEFMessage(${JSON.stringify(message)});`],
NFCReadingEvent: [`new NFCReadingEvent("reading", { message: ${JSON.stringify(message)} })`],
NFCErrorEvent: ['new NFCErrorEvent("error", { error: new DOMException() });'],
NDEFReadingEvent: [`new NDEFReadingEvent("reading", { message: ${JSON.stringify(message)} })`],
NDEFErrorEvent: ['new NDEFErrorEvent("error", { error: new DOMException() });'],
});
}
);

Просмотреть файл

@ -17,12 +17,12 @@
test(t => {
assert_false(isSecureContext);
assert_false('NFCWriter' in window);
}, 'NFCWriter requires a secure context');
assert_false('NDEFWriter' in window);
}, 'NDEFWriter requires a secure context');
test(t => {
assert_false(isSecureContext);
assert_false('NFCReader' in window);
}, 'NFCReader requires a secure context');
assert_false('NDEFReader' in window);
}, 'NDEFReader requires a secure context');
</script>

Просмотреть файл

@ -111,12 +111,12 @@ function createUrlRecord(url) {
return createRecord('url', 'text/plain', url);
}
function createNFCPushOptions(target, timeout, ignoreRead) {
function createNDEFPushOptions(target, timeout, ignoreRead) {
return {target, timeout, ignoreRead};
}
// Compares NDEFMessageSource that was provided to the API
// (e.g. NFCWriter.push), and NDEFMessage that was received by the
// (e.g. NDEFWriter.push), and NDEFMessage that was received by the
// mock NFC service.
function assertNDEFMessagesEqual(providedMessage, receivedMessage) {
// If simple data type is passed, e.g. String or ArrayBuffer, convert it
@ -137,7 +137,7 @@ function assertNDEFMessagesEqual(providedMessage, receivedMessage) {
}
// Used to compare two NDEFMessage, one that is received from
// NFCWriter.onreading() EventHandler and another that is provided to mock NFC
// NDEFWriter.onreading() EventHandler and another that is provided to mock NFC
// service.
function assertWebNDEFMessagesEqual(message, expectedMessage) {
if (expectedMessage.url)
@ -172,10 +172,10 @@ function assertWebNDEFMessagesEqual(message, expectedMessage) {
}
}
function testNFCScanOptions(message, scanOptions, unmatchedScanOptions, desc) {
function testNDEFScanOptions(message, scanOptions, unmatchedScanOptions, desc) {
nfc_test(async (t, mockNFC) => {
const reader1 = new NFCReader();
const reader2 = new NFCReader();
const reader1 = new NDEFReader();
const reader2 = new NDEFReader();
const controller = new AbortController();
mockNFC.setReadingMessage(message);
@ -191,7 +191,7 @@ function testNFCScanOptions(message, scanOptions, unmatchedScanOptions, desc) {
controller.abort();
assertWebNDEFMessagesEqual(event.message, new NDEFMessage(message));
});
// NFCReader#scan() asynchronously dispatches the onreading event.
// NDEFReader#scan() asynchronously dispatches the onreading event.
scanOptions.signal = controller.signal;
reader2.scan(scanOptions);
await promise;
@ -201,7 +201,7 @@ function testNFCScanOptions(message, scanOptions, unmatchedScanOptions, desc) {
function testReadingMultiMessages(
message, scanOptions, unmatchedMessage, desc) {
nfc_test(async (t, mockNFC) => {
const reader = new NFCReader();
const reader = new NDEFReader();
const controller = new AbortController();
const readerWatcher = new EventWatcher(t, reader, ["reading", "error"]);
@ -209,7 +209,7 @@ function testReadingMultiMessages(
controller.abort();
assertWebNDEFMessagesEqual(event.message, new NDEFMessage(message));
});
// NFCReader#scan() asynchronously dispatches the onreading event.
// NDEFReader#scan() asynchronously dispatches the onreading event.
scanOptions.signal = controller.signal;
reader.scan(scanOptions);