| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <script src="../resources/testharness.js"></script> | 2 <script src="../resources/testharness.js"></script> |
| 3 <script src="../resources/testharnessreport.js"></script> | 3 <script src="../resources/testharnessreport.js"></script> |
| 4 <script src="../resources/mojo-helpers.js"></script> | 4 <script src="../resources/mojo-helpers.js"></script> |
| 5 <script src="resources/mock-share-service.js"></script> | 5 <script src="resources/mock-share-service.js"></script> |
| 6 <script> | 6 <script> |
| 7 | 7 |
| 8 function getAbsoluteUrl(url) { | |
| 9 return new URL(url, location).toString(); | |
| 10 } | |
| 11 | |
| 12 share_test((t, mock) => { | 8 share_test((t, mock) => { |
| 13 let url = 'https://www.example.com/some/path?some_query#some_fragment'; | 9 mock.pushShareResult('the title', 'the message', null); |
| 14 mock.pushShareResult('the title', 'the message', getAbsoluteUrl(url), null); | |
| 15 return callWithKeyDown(() => navigator.share( | 10 return callWithKeyDown(() => navigator.share( |
| 16 {title: 'the title', text: 'the message', url: url})); | 11 {title: 'the title', text: 'the message', url: 'the URL'})); |
| 17 }, 'successful share'); | 12 }, 'successful share'); |
| 18 | 13 |
| 19 share_test((t, mock) => { | 14 share_test((t, mock) => { |
| 20 mock.pushShareResult('', '', '', null); | 15 mock.pushShareResult('', '', null); |
| 21 return callWithKeyDown(() => navigator.share({})); | 16 return callWithKeyDown(() => navigator.share({})); |
| 22 }, 'successful share with empty ShareData'); | 17 }, 'successful share with empty ShareData'); |
| 23 | 18 |
| 24 share_test((t, mock) => { | |
| 25 let url = '//www.example.com/some/path?some_query#some_fragment'; | |
| 26 mock.pushShareResult('', '', getAbsoluteUrl(url), null); | |
| 27 return callWithKeyDown(() => navigator.share({url: url})); | |
| 28 }, 'successful share with URL without a scheme'); | |
| 29 | |
| 30 share_test((t, mock) => { | |
| 31 let url = '/some/path?some_query#some_fragment'; | |
| 32 mock.pushShareResult('', '', getAbsoluteUrl(url), null); | |
| 33 return callWithKeyDown(() => navigator.share({url: url})); | |
| 34 }, 'successful share with a path-only URL'); | |
| 35 | |
| 36 share_test((t, mock) => { | |
| 37 let url = 'foo'; | |
| 38 mock.pushShareResult('', '', getAbsoluteUrl(url), null); | |
| 39 return callWithKeyDown(() => navigator.share({url: url})); | |
| 40 }, 'successful share with a relative URL'); | |
| 41 | |
| 42 share_test((t, mock) => { | |
| 43 let url = ''; | |
| 44 mock.pushShareResult('', '', getAbsoluteUrl(url), null); | |
| 45 return callWithKeyDown(() => navigator.share({url: url})); | |
| 46 }, 'successful share with an empty URL'); | |
| 47 | |
| 48 share_test((t, mock) => { | |
| 49 let url = 'data:foo'; | |
| 50 mock.pushShareResult('', '', getAbsoluteUrl(url), null); | |
| 51 return callWithKeyDown(() => navigator.share({url: url})); | |
| 52 }, 'successful share with a data URL'); | |
| 53 | |
| 54 </script> | 19 </script> |
| OLD | NEW |