mirror of
https://github.com/servo/servo.git
synced 2025-07-03 05:23:38 +01:00
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>
|