mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-11 05:39:41 +02:00
Automatic update from web-platform-tests WebShare: canShare() method in Level 2 canShare(data) returns false iff share(data) would reject with TypeError https://wicg.github.io/web-share/level-2/#canshare-method Intent to Implement: https://groups.google.com/a/chromium.org/d/msg/blink-dev/AiKgWvv3cq0/xAsjfSfMDQAJ Bug: 903010 Change-Id: I15e8a92a9d71b08da4e9e6d4bf2692c97dce5c0f Reviewed-on: https://chromium-review.googlesource.com/c/1351340 Commit-Queue: Eric Willigers <ericwilligers@chromium.org> Reviewed-by: Sam McNally <sammc@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#624658} -- wpt-commits: f5df77f83ba77088d354838b377eef5e3f770e36 wpt-pr: 14967
85 lines
2.9 KiB
HTML
85 lines
2.9 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>WebShare Test: canShare without files</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
'use strict';
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare(), false);
|
|
}, 'canShare with no arguments (same as empty dictionary)');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare({}), false);
|
|
}, 'canShare with an empty dictionary');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare(undefined), false);
|
|
}, 'canShare with a undefined argument (same as empty dictionary)');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare(null), false);
|
|
}, 'canShare with a null argument (same as empty dictionary)');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare({unused: 'unexpected field'}), false);
|
|
}, 'canShare with a dictionary containing only surplus fields');
|
|
|
|
test(() => {
|
|
// URL is invalid in that the URL Parser returns failure (port is too
|
|
// large).
|
|
const url = 'http://example.com:65536';
|
|
assert_equals(navigator.canShare({url}), false);
|
|
}, 'canShare with an invalid URL');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare({title: undefined}), false);
|
|
}, 'canShare with attribute undefined is equivalent to omitting the attribute');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare({title: 'subject'}), true);
|
|
}, 'canShare with title');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare({text: 'body'}), true);
|
|
}, 'canShare with text');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare({url: 'https://www.example.com/some/path?some_query#some_fragment'}), true);
|
|
}, 'canShare with URL');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare({title: null}), true);
|
|
}, 'canShare with null attribute');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare({text: 123}), true);
|
|
}, 'canShare with number');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare({url: {toString() { return 'https://example.com/'; }}}), true);
|
|
}, 'canShare with object');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare({title: 'subject', text: 'body', url: 'https://example.com/', unused: 'unexpected field'}), true);
|
|
}, 'canShare with unexpected field');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare({url: 'data:the url'}), true);
|
|
}, 'canShare with data URL');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare({url: ''}), true);
|
|
}, 'canShare with empty URL');
|
|
|
|
test(() => {
|
|
assert_equals(navigator.canShare({url: '//www.example.com/some/path?some_query#some_fragment'}), true);
|
|
}, 'canShare with URL having no scheme');
|
|
</script>
|
|
</body>
|
|
</html>
|