| 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. |