Source code

Revision control

Copy as Markdown

Other Tools

The `nfc-helpers.js` requires an implementation of
the `WebNFCTest` interfaces, which should emulate platform Web NFC backends.
The `WebNFCTest` interface is defined as:
```
class NFCTestChromium {
initialize(); // Sets up the testing environment.
async reset(); // Frees the resources.
getMockNFC(); // Returns `MockNFC` interface.
};
class MockNFC {
setHWStatus(number status); // Sets the hardware status.
setReadingMessage(NDEFMessageInit message); // Sets message that is used to deliver NFC reading updates.
setPendingPushCompleted(boolean result); // Sets if the pending push is completed.
setPendingMakeReadOnlyCompleted(boolean result); // Sets if the pending makeReadOnly is completed.
pushedMessage(); // Gets the pushed `NDEFMessageSource`.
writeOptions(); // Gets the pushed `NDEFWriteOptions`.
simulateNonNDEFTagDiscovered(); // Simulates that the NFC device discovered does not expose NDEF technology.
setIsFormattedTag(boolean isFormatted); // Sets if the NFC tag has formatted NDEF message.
};
```
The Chromium implementation of the `WebNFCTest` interface is located in
[nfc-mock.js](../resources/chromium/nfc-mock.js).
Other browser vendors should provide their own implementations of
the `WebNFCTest` interfaces.