Closed Bug 1605971 Opened 6 years ago Closed 6 years ago

[wpt-sync] Sync PR 20921 - [webnfc] Add several wpt tests

Categories

(Core :: DOM: Device Interfaces, task, P4)

task

Tracking

()

RESOLVED FIXED
mozilla74
Tracking Status
firefox74 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 20921 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/20921
Details from upstream follow.

Wanming Lin <wanming.lin@intel.com> wrote:

[webnfc] Add several wpt tests

This CL adds several wpt tests for Web NFC:

  • Test push operation fails when data transfer fails
  • Verify pushed message for empty record type
  • Test reading message with multiple records should succeed

Bug:520391
Change-Id: Iadb13f6cebaf30514ba7bef65a69302b368e4359

Reviewed-on: https://chromium-review.googlesource.com/1982271
WPT-Export-Revision: a02e42d3448da79c8ef57ee14a25eff74afff68d

Component: web-platform-tests → DOM: Device Interfaces
Product: Testing → Core

CI Results

Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 2 tests and 14 subtests

Status Summary

Firefox

OK : 2
FAIL: 44

Chrome

OK : 2
PASS: 9
FAIL: 35

Safari

OK : 2
FAIL: 44

Links

GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/web-nfc/NDEFWriter_push.https.html
Check that default NDEFPushOptions values are correctly set.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should fail if user permission is not granted.: FAIL (Chrome: PASS, Safari: FAIL)
Test that NDEFWriter.push succeeds when message is ArrayBuffer.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should fail with NetworkError when NFC data transfer fails.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that NDEFWriter.push succeeds when message is DOMString.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that promise is rejected with TypeError if NDEFMessageSource is invalid.: FAIL (Chrome: PASS, Safari: FAIL)
NDEFWriter.push should replace all previously configured push operations.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should succeed when NFC HW is enabled: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should fail when NFC HW is not supported.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should fail when NFC HW is disabled.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push NDEFMessage containing text, mime, unknown, url, absolute-url and external records with default NDEFPushOptions.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should fail if signal is not an AbortSignal.: FAIL (Chrome: PASS, Safari: FAIL)
NDEFWriter.push should fail if abort push request before push happends.: FAIL (Chrome: FAIL, Safari: FAIL)
Synchronously signaled abort.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should fail when there are NDEF records on the NFC device and NDEFPushOptions.overwrite is false.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should succeed to push data to an unformatted NFC device when the NDEFPushOptions.overwrite is false.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that mediaType should be set to 'application/octet-stream' if NDEFRecordInit.record's recordType is 'mime' and NDEFRecordInit.record's mediaType is undefined.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that promise is rejected with SyntaxError if NDEFMessageSource contains invalid records.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should ignore reading data when ignoreRead is true.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that WebNFC API is not accessible from iframe context.: FAIL (Chrome: PASS, Safari: FAIL)
Test that NDEFWriter.push succeeds when message is ArrayBufferView.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should read data when ignoreRead is false.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should fail with TypeError when invalid target value is provided.: FAIL (Chrome: PASS, Safari: FAIL)
NDEFWriter.push should fail if signal's aborted flag is set.: FAIL (Chrome: PASS, Safari: FAIL)
NDEFWriter.push should fail when the NFC device coming up does not expose NDEF technology.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should succeed to overwrite the existing data when the NDEFPushOptions.overwrite is true.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should fail if no implementation for NFC Mojo interface is available.: FAIL (Chrome: FAIL, Safari: FAIL)
Reject promise with NotSupportedError if NFC message size exceeds 32KB.: FAIL (Chrome: PASS, Safari: FAIL)
Check that provided NDEFPushOptions values are correctly converted.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push with 'empty' record should succeed.: FAIL (Chrome: FAIL, Safari: FAIL)
/web-nfc/NDEFReader_scan.https.html
Test that NDEFReader.onerror should be fired if the NFC tag does not expose NDEF technology.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that reading message with multiple records should succeed.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that nfc watch success if NFC HW is enabled.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that NDEFReader.scan rejects if signal is not an AbortSignal.: FAIL (Chrome: PASS, Safari: FAIL)
Test that NDEFReader.scan matches any ids if NDEFScanOptions.id is undefined.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that NDEFReader can not get any reading events once the signal aborts.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that an error event happens if no implementation for NFC Mojo interface is available.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that NDEFReader.scan rejects if NDEFScanOptions.signal is already aborted.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that NDEFReader.scan rejects if NDEFScanOptions.signal aborts right after the scan invocation.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFRecord.toRecords returns its embedded records correctly.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFReader.scan should fail if NFC HW is disabled.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFReader.scan should fail if user permission is not granted.: FAIL (Chrome: PASS, Safari: FAIL)
Test that NDEFReader.onreading should be fired on an unformatted NFC tag with empty records array for NDEFMessage.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFReader.scan should fail if NFC HW is not supported.: FAIL (Chrome: FAIL, Safari: FAIL)

CI Results

Ran 13 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 41 tests

Status Summary

Firefox

OK : 2
PASS: 39
FAIL: 44[['GitHub']] 46[[u'Gecko-android-em-7.0-x86_64-debug-geckoview', u'Gecko-android-em-7.0-x86_64-opt-geckoview', u'Gecko-linux64-asan-opt', u'Gecko-linux64-debug', u'Gecko-linux64-opt', u'Gecko-linux64-qr-debug', u'Gecko-linux64-qr-opt', u'Gecko-windows10-64-debug', u'Gecko-windows10-64-opt', u'Gecko-windows10-64-qr-debug', u'Gecko-windows10-64-qr-opt', u'Gecko-windows7-32-debug', u'Gecko-windows7-32-opt']]

Chrome

OK : 2
PASS: 9
FAIL: 35

Safari

OK : 2
FAIL: 44

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/web-nfc/NDEFReader_scan.https.html
Test that NDEFReader.onerror should be fired if the NFC tag does not expose NDEF technology.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that reading message with multiple records should succeed.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that nfc watch success if NFC HW is enabled.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that NDEFReader.scan rejects if signal is not an AbortSignal.: FAIL (Chrome: PASS, Safari: FAIL)
Test that NDEFReader.scan matches any ids if NDEFScanOptions.id is undefined.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that NDEFReader can not get any reading events once the signal aborts.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that an error event happens if no implementation for NFC Mojo interface is available.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that NDEFReader.scan rejects if NDEFScanOptions.signal is already aborted.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that NDEFReader.scan rejects if NDEFScanOptions.signal aborts right after the scan invocation.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFRecord.toRecords returns its embedded records correctly.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFReader.scan should fail if NFC HW is disabled.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFReader.scan should fail if user permission is not granted.: FAIL (Chrome: PASS, Safari: FAIL)
Test that NDEFReader.onreading should be fired on an unformatted NFC tag with empty records array for NDEFMessage.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFReader.scan should fail if NFC HW is not supported.: FAIL (Chrome: FAIL, Safari: FAIL)
/web-nfc/NDEFWriter_push.https.html
Check that default NDEFPushOptions values are correctly set.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should fail if user permission is not granted.: FAIL (Chrome: PASS, Safari: FAIL)
Test that NDEFWriter.push succeeds when message is ArrayBuffer.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that recordType should be set to 'text' if NDEFRecordInit.record's recordType is undefined and NDEFRecordInit.record's data is DOMString.: FAIL
NDEFWriter.push should fail with NetworkError when NFC data transfer fails.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that NDEFWriter.push succeeds when message is DOMString.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that promise is rejected with TypeError if NDEFMessageSource is invalid.: FAIL (Chrome: PASS, Safari: FAIL)
NDEFWriter.push should replace all previously configured push operations.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should succeed when NFC HW is enabled: FAIL (Chrome: FAIL, Safari: FAIL)
Test that recordType should be set to 'mime' if NDEFRecordInit.record's recordType is undefined and NDEFRecordInit.record's data is not DOMString.: FAIL
NDEFWriter.push should fail when NFC HW is not supported.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should fail when NFC HW is disabled.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push NDEFMessage containing text, mime, unknown, url, absolute-url and external records with default NDEFPushOptions.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should fail if signal is not an AbortSignal.: FAIL (Chrome: PASS, Safari: FAIL)
NDEFWriter.push should fail if abort push request before push happends.: FAIL (Chrome: FAIL, Safari: FAIL)
Synchronously signaled abort.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should fail when there are NDEF records on the NFC device and NDEFPushOptions.overwrite is false.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should succeed to push data to an unformatted NFC device when the NDEFPushOptions.overwrite is false.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that mediaType should be set to 'application/octet-stream' if NDEFRecordInit.record's recordType is 'mime' and NDEFRecordInit.record's mediaType is undefined.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that promise is rejected with SyntaxError if NDEFMessageSource contains invalid records.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should ignore reading data when ignoreRead is true.: FAIL (Chrome: FAIL, Safari: FAIL)
Test that WebNFC API is not accessible from iframe context.: FAIL (Chrome: PASS, Safari: FAIL)
Test that NDEFWriter.push succeeds when message is ArrayBufferView.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should read data when ignoreRead is false.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should fail with TypeError when invalid target value is provided.: FAIL (Chrome: PASS, Safari: FAIL)
NDEFWriter.push should fail if signal's aborted flag is set.: FAIL (Chrome: PASS, Safari: FAIL)
NDEFWriter.push should fail when the NFC device coming up does not expose NDEF technology.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should succeed to overwrite the existing data when the NDEFPushOptions.overwrite is true.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push should fail if no implementation for NFC Mojo interface is available.: FAIL (Chrome: FAIL, Safari: FAIL)
Reject promise with NotSupportedError if NFC message size exceeds 32KB.: FAIL (Chrome: PASS, Safari: FAIL)
Check that provided NDEFPushOptions values are correctly converted.: FAIL (Chrome: FAIL, Safari: FAIL)
NDEFWriter.push with 'empty' record should succeed.: FAIL (Chrome: FAIL, Safari: FAIL)

Pushed by wptsync@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/9fa30b1a6c8c [wpt PR 20921] - [webnfc] Add several wpt tests, a=testonly https://hg.mozilla.org/integration/autoland/rev/c92ffb1aeab2 [wpt PR 20921] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla74
You need to log in before you can comment on or make changes to this bug.