diff options
Diffstat (limited to 'testing/web-platform/tests/navigation-api/navigate-event/navigate-anchor-download.html')
-rw-r--r-- | testing/web-platform/tests/navigation-api/navigate-event/navigate-anchor-download.html | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/testing/web-platform/tests/navigation-api/navigate-event/navigate-anchor-download.html b/testing/web-platform/tests/navigation-api/navigate-event/navigate-anchor-download.html new file mode 100644 index 0000000000..c5ca306b79 --- /dev/null +++ b/testing/web-platform/tests/navigation-api/navigate-event/navigate-anchor-download.html @@ -0,0 +1,34 @@ +<!doctype html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> +<script> +const tests = [["a", ""], ["a", "filename"], ["area", ""], ["area", "filename"]]; + +for (const [tag, download_attr] of tests) { + async_test(t => { + let a = document.createElement(tag); + a.href = "foo.html"; + a.download = download_attr; + document.body.appendChild(a); + navigation.onnavigate = t.step_func_done(e => { + assert_equals(e.navigationType, "push"); + assert_true(e.cancelable); + assert_true(e.canIntercept); + assert_false(e.userInitiated); + assert_false(e.hashChange); + assert_equals(e.downloadRequest, download_attr); + assert_equals(e.formData, null); + assert_equals(new URL(e.destination.url).pathname, + "/navigation-api/navigate-event/foo.html"); + assert_false(e.destination.sameDocument); + assert_equals(e.destination.key, null); + assert_equals(e.destination.id, null); + assert_equals(e.destination.index, -1); + e.preventDefault(); + }); + a.click(); + }, `<${tag}> fires navigate and populates downloadRequest with '${download_attr}'`); +} +</script> +</body> |