| <!DOCTYPE html> |
| <!-- |
| Distributed under both the W3C Test Suite License [1] and the W3C |
| 3-clause BSD License [2]. To contribute to a W3C Test Suite, see the |
| policies and contribution forms [3]. |
| |
| [1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license |
| [2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license |
| [3] http://www.w3.org/2004/10/27-testcases |
| --> |
| <html> |
| <head> |
| <title>Shadow DOM Test: A_04_10_01</title> |
| <link rel="author" title="Sergey G. Grekhov" href="mailto:sgrekhov@unipro.ru"> |
| <link rel="help" href="http://www.w3.org/TR/2013/WD-shadow-dom-20130514/#custom-pseudo-elements"> |
| <meta name="assert" content="Custom Pseudo-Elements: test valid pseudo-element"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="../../testcommon.js"></script> |
| <link rel="stylesheet" href="/resources/testharness.css"> |
| </head> |
| <body> |
| <div id="log"></div> |
| <script> |
| // Test fails. See https://bugs.webkit.org/show_bug.cgi?id=103973 |
| test(unit(function (ctx) { |
| |
| var d = newRenderedHTMLDocument(ctx); |
| |
| var style = d.createElement('style'); |
| style.innerHTML = 'span {' + |
| 'font-size: 10px;' + |
| '}'; |
| d.head.appendChild(style); |
| |
| var widget = d.createElement('div'); |
| d.body.appendChild(widget); |
| |
| var s = widget.createShadowRoot(); |
| |
| var thumb = d.createElement('span'); |
| thumb.innerHTML = 'This is a pseudo-element'; |
| //FIXME test works if prefixed version of API used. |
| //In other words works if webkitPseudo property is used |
| //thumb.webkitPseudo = 'x-thumb'; |
| thumb.pseudo = 'x-thumb'; |
| s.appendChild(thumb); |
| |
| var height = thumb.offsetHeight; |
| |
| assert_true(height > 0, 'Element should be rendered'); |
| |
| style = d.createElement('style'); |
| style.innerHTML = 'div::x-thumb {' + |
| 'font-size: 30px;' + |
| '}'; |
| d.body.appendChild(style); |
| |
| assert_true(thumb.offsetHeight > height, 'Pseudo-element style should be applied'); |
| |
| }), 'A_04_10_01_T01'); |
| </script> |
| </body> |
| </html> |