Re-sync html/browsers/the-window-object web-platform-tests from upstream
[WebKit-https.git] / LayoutTests / imported / w3c / web-platform-tests / html / browsers / the-window-object / apis-for-creating-and-navigating-browsing-contexts-by-name / open-features-tokenization-top-left.html
1 <!DOCTYPE html>
2 <meta charset="utf-8">
3 <title>HTML: window.open `features`: tokenization -- position features `top` and `left`</title>
4 <meta name=timeout content=long>
5 <link rel="help" href="https://html.spec.whatwg.org/multipage/#apis-for-creating-and-navigating-browsing-contexts-by-name">
6
7 <!--  user agents are not required to support open features other than `noopener`
8      and on some platforms position and size features don't make sense  -->
9 <meta name="flags" content="may" />
10
11 <script src="/resources/testharness.js"></script>
12 <script src="/resources/testharnessreport.js"></script>
13 <script src="/common/PrefixedPostMessage.js"></script>
14 <script>
15 var windowURL = 'resources/message-opener.html';
16 var width = 'width=401,';
17 var height = 'height=402,';
18
19 [ 'left=141',
20   ' left = 141',
21   'left==141',
22   '\nleft= 141',
23   ',left=141,,',
24   'LEFT=141'
25 ].forEach((features, idx, arr) => {
26   async_test(t => {
27     var prefixedMessage = new PrefixedMessageTest();
28     prefixedMessage.onMessage(t.step_func_done((data, e) => {
29       e.source.close();
30       assert_equals(data.left, 141);
31     }));
32     var win = window.open(prefixedMessage.url(windowURL), '', width + height + features);
33   }, `"${features}" should set left position of opened window`);
34 });
35
36 [ 'top=142',
37   ' top = 142',
38   'top==142',
39   '\ttop= 142',
40   ',top=142,,',
41   'TOP=142'
42 ].forEach((features, idx, arr) => {
43   async_test(t => {
44     var prefixedMessage = new PrefixedMessageTest();
45     prefixedMessage.onMessage(t.step_func_done((data, e) => {
46       e.source.close();
47       assert_equals(data.top, 142);
48     }));
49     var win = window.open(prefixedMessage.url(windowURL), '', width + height + features);
50   }, `${format_value(features)} should set top position of opened window`);
51 });
52
53 [ 'top=152,left=152',
54   'top=152,,left=152,',
55   'top=152==left=152',
56   ',,top= 152, left=152'
57 ].forEach((features, idx, arr) => {
58   async_test(t => {
59     var prefixedMessage = new PrefixedMessageTest();
60     prefixedMessage.onMessage(t.step_func_done((data, e) => {
61       e.source.close();
62       assert_equals(data.top, 152);
63       assert_equals(data.left, 152);
64     }));
65     var win = window.open(prefixedMessage.url(windowURL), '', width + height + features);
66   }, `${format_value(features)} should set top and left position of opened window`);
67 });
68
69 </script>