| OLD | NEW | 
 | (Empty) | 
|   1 <!DOCTYPE html> |  | 
|   2 <!--  |  | 
|   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]. |  | 
|   6  |  | 
|   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 |  | 
|  10  --> |  | 
|  11 <html> |  | 
|  12 <head> |  | 
|  13 <title>Shadow DOM Test: A_04_05_02</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/#multipl
    e-shadow-subtrees"> |  | 
|  16 <meta name="assert" content="Hosting Multiple Shadow Subtrees:If multiple shadow
     insertion points exist in a shadow DOM subtree, only the first, in tree order, 
    is recognized"> |  | 
|  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"> |  | 
|  21 </head> |  | 
|  22 <body> |  | 
|  23 <div id="log"></div> |  | 
|  24 <script> |  | 
|  25 var A_04_05_02_T1 = async_test('A_04_05_02_T01'); |  | 
|  26  |  | 
|  27 A_04_05_02_T1.step(function () { |  | 
|  28     var iframe = document.createElement('iframe'); |  | 
|  29     iframe.src = '../../resources/bobs_page.html'; |  | 
|  30     document.body.appendChild(iframe); |  | 
|  31  |  | 
|  32     iframe.onload = A_04_05_02_T1.step_func(function () { |  | 
|  33         try { |  | 
|  34             var d = iframe.contentDocument; |  | 
|  35             var ul = d.querySelector('ul.stories'); |  | 
|  36  |  | 
|  37             //make the oldest shadow subtree |  | 
|  38             var s1 = ul.createShadowRoot(); |  | 
|  39             var subdiv1 = d.createElement('div'); |  | 
|  40             subdiv1.innerHTML = '<ul><content select="#li1"></content></ul>'; |  | 
|  41             s1.appendChild(subdiv1); |  | 
|  42  |  | 
|  43             //make an old shadow subtree |  | 
|  44             var s2 = ul.createShadowRoot(); |  | 
|  45             var subdiv2 = d.createElement('div'); |  | 
|  46             subdiv2.innerHTML = '<ul><content select=".shadow"></content></ul>'; |  | 
|  47             s2.appendChild(subdiv2); |  | 
|  48  |  | 
|  49             //make the youngest shadow subtree |  | 
|  50             var s3 = ul.createShadowRoot(); |  | 
|  51             var subdiv3 = d.createElement('div'); |  | 
|  52             subdiv3.innerHTML = '<ul><content select=".shadow2"></content></ul>'
    ; |  | 
|  53             s3.appendChild(subdiv3); |  | 
|  54  |  | 
|  55             //add a shadow insertion point for the old tree |  | 
|  56             s3.appendChild(d.createElement('shadow')); |  | 
|  57             //add another shadow insertion point for the older tree. |  | 
|  58             //Shouldn't match |  | 
|  59             s3.appendChild(d.createElement('shadow')); |  | 
|  60  |  | 
|  61  |  | 
|  62             //The order of DOM elements should be the following: |  | 
|  63             //li4, li3, li6 visible. Other elements invisible |  | 
|  64             assert_true(d.querySelector('#li4').offsetTop > 0, |  | 
|  65                 'Only the younger tree should take part in the distribution'); |  | 
|  66             assert_true(d.querySelector('#li3').offsetTop > d.querySelector('#li
    4').offsetTop, |  | 
|  67                         'Point 1: Older tree should take part in the distributio
    n'); |  | 
|  68             assert_true(d.querySelector('#li6').offsetTop > d.querySelector('#li
    3').offsetTop, |  | 
|  69                         'Point 2: Older tree should take part in the distributio
    n'); |  | 
|  70  |  | 
|  71             assert_equals(d.querySelector('#li1').offsetTop, 0, |  | 
|  72                 'The oldest tree shouldn\'t take part in the distribution'); |  | 
|  73             assert_equals(d.querySelector('#li2').offsetTop, 0, |  | 
|  74                 'Point 3: Elements that don\'t mach insertion point criteria par
    ticipate in distribution'); |  | 
|  75             assert_equals(d.querySelector('#li5').offsetTop, 0, |  | 
|  76                 'Point 4: Elements that don\'t mach insertion point criteria par
    ticipate in distribution'); |  | 
|  77  |  | 
|  78         } finally { |  | 
|  79             iframe.parentNode.removeChild(iframe); |  | 
|  80         } |  | 
|  81         A_04_05_02_T1.done(); |  | 
|  82     }); |  | 
|  83 }); |  | 
|  84 </script> |  | 
|  85 </body> |  | 
|  86 </html> |  | 
| OLD | NEW |