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 | |
8 share_test((t, mock) => { | 12 share_test((t, mock) => { |
9 mock.pushShareResult('the title', 'the message', null); | 13 let url = 'https://www.example.com/some/path?some_query#some_fragment'; |
14 mock.pushShareResult('the title', 'the message', getAbsoluteUrl(url), null); | |
Matt Giuca
2016/09/06 04:18:12
Opinion: Don't use getAbsoluteURL, instead just ha
Matt Giuca
2016/09/06 04:24:00
As discussed, too hard to predict what the URL wil
| |
10 return callWithKeyDown(() => navigator.share( | 15 return callWithKeyDown(() => navigator.share( |
11 {title: 'the title', text: 'the message', url: 'the URL'})); | 16 {title: 'the title', text: 'the message', url: url})); |
12 }, 'successful share'); | 17 }, 'successful share'); |
13 | 18 |
14 share_test((t, mock) => { | 19 share_test((t, mock) => { |
15 mock.pushShareResult('', '', null); | 20 mock.pushShareResult('', '', '', null); |
16 return callWithKeyDown(() => navigator.share({})); | 21 return callWithKeyDown(() => navigator.share({})); |
17 }, 'successful share with empty ShareData'); | 22 }, 'successful share with empty ShareData'); |
18 | 23 |
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 | |
19 </script> | 54 </script> |
OLD | NEW |