3 Distributed under both the W3C Test Suite License [1] and the W3C
4 3-clause BSD License [2]. To contribute to a W3C Test Suite, see the
5 policies and contribution forms [3].
7 [1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license
8 [2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license
9 [3] http://www.w3.org/2004/10/27-testcases
13 <title>Shadow DOM Test: A_10_02_01_04</title>
14 <link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru">
15 <link rel="help" href="http://www.w3.org/TR/2013/WD-shadow-dom-20130514/#shadow-aware-attributes">
16 <meta name="assert" content="Extensions to Element Interface: pseudo of type DOMString attribute; Test setter">
17 <script src="../../../../../../resources/testharness.js"></script>
18 <script src="../../../../../../resources/testharnessreport.js"></script>
19 <script src="../../../testcommon.js"></script>
20 <link rel="stylesheet" href="../../../../../../resources/testharness.css">
25 test(unit(function (ctx) {
27 var d = newRenderedHTMLDocument(ctx);
29 var style = d.createElement('style');
30 style.innerHTML = 'span {' +
33 d.head.appendChild(style);
35 var widget = d.createElement('div');
36 d.body.appendChild(widget);
38 var s = createSR(widget);
40 var thumb = d.createElement('span');
41 thumb.innerHTML = 'This is a pseudo-element';
43 thumb.pseudo = 'x-thumb';
46 var height = thumb.offsetHeight;
48 assert_true(height > 0, 'Element should be rendered');
50 style = d.createElement('style');
51 style.innerHTML = '' +
55 d.body.appendChild(style);
57 assert_true(thumb.offsetHeight > height, 'Pseudo-element style should be applied');
60 assert_equals(thumb.offsetHeight, height, 'Pseudo-element style should be discarded by new setter');
62 }), 'A_10_02_01_04_T01');
65 test(unit(function (ctx) {
67 var d = newRenderedHTMLDocument(ctx);
69 var widget = d.createElement('div');
70 d.body.appendChild(widget);
72 var s = createSR(widget);
74 var thumb = d.createElement('span');
75 thumb.innerHTML = 'This is a pseudo-element';
77 thumb.pseudo = 'x-thumb';
80 assert_equals(thumb.pseudo, 'x-thumb', 'Pseudo-element style attribute should be set');
81 thumb.pseudo = 'x-thumb2';
83 assert_equals(thumb.pseudo, 'x-thumb2', 'New pseudo-element style should be set by setter');
85 }), 'A_10_02_01_04_T02');
88 test(unit(function (ctx) {
90 var d = newRenderedHTMLDocument(ctx);
92 var style = d.createElement('style');
93 style.innerHTML = 'span {' +
96 d.head.appendChild(style);
98 var widget = d.createElement('div');
99 d.body.appendChild(widget);
101 var s = createSR(widget);
103 var thumb = d.createElement('span');
104 thumb.innerHTML = 'This is a pseudo-element';
106 thumb.pseudo = 'x-thumb';
107 s.appendChild(thumb);
109 var height = thumb.offsetHeight;
111 assert_true(height > 0, 'Element should be rendered');
113 style = d.createElement('style');
114 style.innerHTML = '' +
122 d.body.appendChild(style);
124 var height2 = thumb.offsetHeight;
126 assert_true(height2 > height, 'Pseudo-element style should be applied');
128 thumb.pseudo = 'x-thumb2';
130 assert_true(thumb.offsetHeight > height && thumb.offsetHeight < height2,
131 'New pseudo-element style should be applied by setter');
133 }), 'A_10_02_01_04_T03');