6e467cf5845210fb4dcd4208eb1d73f5335f9b1f
[WebKit-https.git] / LayoutTests / fast / html / script-tests / main-element.js
1 description('Various tests for the main element.');
2
3 var testParent = document.createElement('div');
4 document.body.appendChild(testParent);
5
6 debug('<main> closes <p>:');
7 testParent.innerHTML = '<p>Test that <main id="main1">an main element</main> closes &lt;p>.</p>';
8 var main1 = document.getElementById('main1');
9 shouldBeFalse('main1.parentNode.nodeName == "p"');
10
11 debug('&lt;p> does not close &lt;main>:');
12 testParent.innerHTML = '<main>Test that <p id="p1">a p element</p> does not close an main element.</main>';
13 var p1 = document.getElementById('p1');
14 shouldBe('p1.parentNode.nodeName', '"MAIN"');
15
16 debug('&lt;main> can be nested inside &lt;main>:');
17 testParent.innerHTML = '<main id="main2">Test that <main id="main3">an main element</main> can be nested inside another.</main>';
18 var main3 = document.getElementById('main3');
19 shouldBe('main3.parentNode.id', '"main2"');
20
21 debug('Residual style:');
22 testParent.innerHTML = '<b><main id="main4">This text should be bold.</main> <span id="span1">This is also bold.</span></b>';
23 function getWeight(id) {
24     return document.defaultView.getComputedStyle(document.getElementById(id), null).getPropertyValue('font-weight');
25 }
26 shouldBe('getWeight("main4")', '"bold"');
27 shouldBe('getWeight("span1")', '"bold"');
28 document.body.removeChild(testParent);
29
30 debug('FormatBlock:');
31 var editable = document.createElement('div');
32 editable.innerHTML = '[<span id="span2">The text will be a child of &lt;main>.</span>]';
33 document.body.appendChild(editable);
34 editable.contentEditable = true;
35 var selection = window.getSelection();
36 selection.selectAllChildren(editable);
37 document.execCommand('FormatBlock', false, 'main');
38 selection.collapse();
39 shouldBe('document.getElementById("span2").parentNode.nodeName', '"MAIN"');
40 document.body.removeChild(editable);
41