Revision b0f0ef9adb50765ea38be619015bb061d6a224b6 authored by Mustaq Ahmed on 27 June 2018, 15:33:46 UTC, committed by Blink WPT Bot on 27 June 2018, 15:42:47 UTC
With User Activation v2, activating a parent frame doesn't activate
its subframes.  We fixed these two tests by sending the click to
subframes.  This needed a workaround in auto-click.js because
the mutation observer there in doesn't seem to work when a button
element is added to a subframe.

Bug: 802371
Change-Id: I786668c87b802565e99ad16223cafc8ac1fd6296
Reviewed-on: https://chromium-review.googlesource.com/868323
Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
Commit-Queue: Mustaq Ahmed <mustaq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570778}
1 parent b44c265
Raw File
nfc_watch.https.html
<!DOCTYPE html>
<meta charset=utf-8>
<title>Web NFC: nfc.watch 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>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/nfc_help.js"></script>

<div id="log"></div>

<script>

"use strict";

promise_test(t => {
  return promise_rejects(t, 'NotFoundError', navigator.nfc.cancelWatch(1));
}, "Test that nfc.cancelWatch fails if invalid watch ID is provided.");

promise_test(t => {
  return promise_rejects(t, 'NotFoundError', navigator.nfc.cancelWatch());
}, "Test that nfc.cancelWatch fails if there are no active watchers.");

promise_test(t => {
  return navigator.nfc.watch(noop).then(id => {
    assert_equals(typeof(id), "number");
    assert_greater_than(id, 0, "greater than zero");
  });
}, "Test that nfc watch success if NFC HW is enable.");

promise_test(t => {
  return navigator.nfc.watch(noop).
      then(id => navigator.nfc.cancelWatch(id));
}, "Test that nfc.cancelWatch succeeds if correct watch id is provided.");

promise_test(t => {
  return navigator.nfc.watch(noop).then(() => {
    navigator.nfc.cancelWatch();
  });
}, "Test that nfc.cancelWatch succeeds if there are active watchers.");

promise_test(t => {
  return promise_rejects(t, 'SyntaxError', navigator.nfc.watch(noop, {url:"www.a.com"}));
}, 'Test that nfc.watch fails if NFCWatchOptions.url is missing components.');

promise_test(t => {
  return promise_rejects(t, 'SyntaxError', navigator.nfc.watch(noop, {url:"invalid"}));
}, 'Test that nfc.watch fails if NFCWatchOptions.url is invalid.');

promise_test(t => {
  return promise_rejects(t, 'SyntaxError', navigator.nfc.watch(noop, {url:"http://a.com"}));
}, 'Test that nfc.watch fails if NFCWatchOptions.url has wrong protocol.');

promise_test(t => {
  return navigator.nfc.watch(noop, {url:"https://a.com"});
}, 'Test that nfc.watch succeeds if NFCWatchOptions.url is valid URL.');

promise_test(t => {
  return navigator.nfc.watch(noop, {url:"https://a.com/*"});
}, 'Test that nfc.watch succeeds if NFCWatchOptions.url is valid URL with "*"' +
   ' wildcard character in path.');

promise_test(t => {
  return navigator.nfc.watch(noop, {url:"https://a.com/*/bar"});
}, 'Test that nfc.watch succeeds if NFCWatchOptions.url is valid URL with "*"' +
   ' wildcard character in the beginning of path component followed by' +
   ' subpath.');

promise_test(t => {
  return navigator.nfc.watch(noop, {url:""});
}, 'Test that nfc.watch succeeds if NFCWatchOptions.url is empty.');

</script>
back to top