summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/web-nfc/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/web-nfc/README.md')
-rw-r--r--testing/web-platform/tests/web-nfc/README.md29
1 files changed, 29 insertions, 0 deletions
diff --git a/testing/web-platform/tests/web-nfc/README.md b/testing/web-platform/tests/web-nfc/README.md
new file mode 100644
index 0000000000..b51018d68f
--- /dev/null
+++ b/testing/web-platform/tests/web-nfc/README.md
@@ -0,0 +1,29 @@
+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.