mirror of
https://github.com/servo/servo
synced 2026-05-14 10:56:44 +02:00
86 lines
2.7 KiB
HTML
86 lines
2.7 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_false(navigator.canShare());
|
|
}, 'canShare with no arguments (same as empty dictionary)');
|
|
|
|
test(() => {
|
|
assert_false(navigator.canShare({}));
|
|
}, 'canShare with an empty dictionary');
|
|
|
|
test(() => {
|
|
assert_false(navigator.canShare(undefined));
|
|
}, 'canShare with a undefined argument (same as empty dictionary)');
|
|
|
|
test(() => {
|
|
assert_false(navigator.canShare(null));
|
|
}, 'canShare with a null argument (same as empty dictionary)');
|
|
|
|
test(() => {
|
|
assert_false(navigator.canShare({unused: 'unexpected field'}));
|
|
}, '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_false(navigator.canShare({url}));
|
|
}, 'canShare with an invalid URL');
|
|
|
|
test(() => {
|
|
assert_false(navigator.canShare({url: 'data:the url'}));
|
|
}, 'canShare with data URL');
|
|
|
|
test(() => {
|
|
assert_false(navigator.canShare({title: undefined}));
|
|
}, 'canShare with attribute undefined is equivalent to omitting the attribute');
|
|
|
|
test(() => {
|
|
assert_true(navigator.canShare({title: 'subject'}));
|
|
}, 'canShare with title');
|
|
|
|
test(() => {
|
|
assert_true(navigator.canShare({text: 'body'}));
|
|
}, 'canShare with text');
|
|
|
|
test(() => {
|
|
assert_true(navigator.canShare({url: 'https://www.example.com/some/path?some_query#some_fragment'}));
|
|
}, 'canShare with URL');
|
|
|
|
test(() => {
|
|
assert_true(navigator.canShare({title: null}));
|
|
}, 'canShare with null attribute');
|
|
|
|
test(() => {
|
|
assert_true(navigator.canShare({text: 123}));
|
|
}, 'canShare with number');
|
|
|
|
test(() => {
|
|
assert_true(navigator.canShare({url: {toString() { return 'https://example.com/'; }}}));
|
|
}, 'canShare with object');
|
|
|
|
test(() => {
|
|
assert_true(navigator.canShare({title: 'subject', text: 'body', url: 'https://example.com/', unused: 'unexpected field'}));
|
|
}, 'canShare with unexpected field');
|
|
|
|
test(() => {
|
|
assert_true(navigator.canShare({url: ''}));
|
|
}, 'canShare with empty URL');
|
|
|
|
test(() => {
|
|
assert_true(navigator.canShare({url: '//www.example.com/some/path?some_query#some_fragment'}));
|
|
}, 'canShare with URL having no scheme');
|
|
</script>
|
|
</body>
|
|
</html>
|