Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(419)

Side by Side Diff: third_party/WebKit/LayoutTests/shadow-dom/shadow-piercing-descendant-combinator.html

Issue 2523673002: Add a test for multiple >>>s in a selector. (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <script src="../resources/testharness.js"></script> 2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script> 3 <script src="../resources/testharnessreport.js"></script>
4 <script src="resources/shadow-dom.js"></script> 4 <script src="resources/shadow-dom.js"></script>
5 <body> 5 <body>
6
6 <div id="testroot"> 7 <div id="testroot">
7 <div id="openhost"> 8 <div id="openhost">
8 <template data-mode="open"> 9 <template data-mode="open">
9 <div id="inner-open"></div> 10 <div id="inner-open"></div>
10 </template> 11 </template>
11 </div> 12 </div>
12 <div id="closedhost"> 13 <div id="closedhost">
13 <template data-mode="closed"> 14 <template data-mode="closed">
14 <div id="inner-closed"></div> 15 <div id="inner-closed"></div>
15 </template> 16 </template>
(...skipping 18 matching lines...) Expand all
34 </div> 35 </div>
35 <div> 36 <div>
36 <template data-mode="v0"> 37 <template data-mode="v0">
37 <div id="inner-nested-v0"></div> 38 <div id="inner-nested-v0"></div>
38 </template> 39 </template>
39 </div> 40 </div>
40 </div> 41 </div>
41 </template> 42 </template>
42 </div> 43 </div>
43 </div> 44 </div>
45
46 <div id="testroot2">
47 <template data-mode="open">
48 <div id="div1">
49 <template data-mode="open">
50 <div id="div2">
51 <template data-mode="open">
52 <div id="div3">
53 <template data-mode="open" data-expose-as="deepestRoot">
54 <div id="div4">
55 </div>
56 </template>
57 </div>
58 </template>
59 </div>
60 </template>
61 </div>
62 </template>
63 </div>
64
44 </body> 65 </body>
45 <script> 66 <script>
67 'use strict';
68
46 convertTemplatesToShadowRootsWithin(testroot); 69 convertTemplatesToShadowRootsWithin(testroot);
47 test(() => { 70 test(() => {
48 assert_equals(document.querySelectorAll('body >>> #inner-open').length, 1); 71 assert_equals(document.querySelectorAll('body >>> #inner-open').length, 1);
49 assert_equals(document.querySelectorAll('body >>> #inner-closed').length, 0); 72 assert_equals(document.querySelectorAll('body >>> #inner-closed').length, 0);
50 assert_equals(document.querySelectorAll('body >>> #inner-v0').length, 0); 73 assert_equals(document.querySelectorAll('body >>> #inner-v0').length, 0);
51 assert_equals(document.querySelectorAll('body >>> #inner-nested-open').length, 1); 74 assert_equals(document.querySelectorAll('body >>> #inner-nested-open').length, 1);
52 assert_equals(document.querySelectorAll('body >>> #inner-nested-closed').lengt h, 0); 75 assert_equals(document.querySelectorAll('body >>> #inner-nested-closed').lengt h, 0);
53 assert_equals(document.querySelectorAll('body >>> #inner-nested-v0').length, 0 ); 76 assert_equals(document.querySelectorAll('body >>> #inner-nested-v0').length, 0 );
54 }, '>>> should match only through open shadow roots.'); 77 }, '>>> should match only through open shadow roots.');
55 78
56 test(() => { 79 test(() => {
57 let innerDiv = nestedRoot.querySelector('#inner-div'); 80 let innerDiv = nestedRoot.querySelector('#inner-div');
58 assert_equals(innerDiv.querySelectorAll('body >>> #inner-nested-open').length, 0); 81 assert_equals(innerDiv.querySelectorAll('body >>> #inner-nested-open').length, 0);
59 assert_equals(innerDiv.querySelectorAll('body >>> #inner-nested-closed').lengt h, 0); 82 assert_equals(innerDiv.querySelectorAll('body >>> #inner-nested-closed').lengt h, 0);
60 assert_equals(innerDiv.querySelectorAll('body >>> #inner-nested-v0').length, 0 ); 83 assert_equals(innerDiv.querySelectorAll('body >>> #inner-nested-v0').length, 0 );
61 assert_equals(innerDiv.querySelectorAll('#inner-div >>> #inner-nested-open').l ength, 1); 84 assert_equals(innerDiv.querySelectorAll('#inner-div >>> #inner-nested-open').l ength, 1);
62 assert_equals(innerDiv.querySelectorAll('#inner-div >>> #inner-nested-closed') .length, 0); 85 assert_equals(innerDiv.querySelectorAll('#inner-div >>> #inner-nested-closed') .length, 0);
63 assert_equals(innerDiv.querySelectorAll('#inner-div >>> #inner-nested-v0').len gth, 0); 86 assert_equals(innerDiv.querySelectorAll('#inner-div >>> #inner-nested-v0').len gth, 0);
64 }, 'leftmost compound should match an element in the same node tree as context o bject.'); 87 }, 'leftmost compound should match an element in the same node tree as context o bject.');
65 88
66 test(() => { 89 test(() => {
67 assert_equals(document.querySelector('#testroot >>> #openhost').id, 'openhost' ); 90 assert_equals(document.querySelector('#testroot >>> #openhost').id, 'openhost' );
68 assert_equals(document.querySelector('#testroot >>> #closedhost').id, 'closedh ost'); 91 assert_equals(document.querySelector('#testroot >>> #closedhost').id, 'closedh ost');
69 assert_equals(document.querySelector('#testroot >>> #v0host').id, 'v0host'); 92 assert_equals(document.querySelector('#testroot >>> #v0host').id, 'v0host');
70 }, '>>> should match without piercing through shadow roots.'); 93 }, '>>> should match without piercing through shadow roots.');
71 94
95 test(() => {
96 convertTemplatesToShadowRootsWithin(testroot2);
97 let div4 = deepestRoot.querySelector('#div4');
98
99 assert_equals(document.querySelector('body >>> #div1 >>> #div2 >>> #div3 >>> # div4'), div4);
100 assert_equals(document.querySelector('body >>> #div1 >>> #div2 >>> #div4'), di v4);
101 assert_equals(document.querySelector('body >>> #div1 >>> #div3 >>> #div4'), di v4);
102 assert_equals(document.querySelector('body >>> #div1 >>> #div4'), div4);
103 assert_equals(document.querySelector('body >>> #div2 >>> #div4'), div4);
104 assert_equals(document.querySelector('#div1 >>> #div2 >>> #div3 >>> #div4'), n ull,
105 'leftmost compound should match an element in the same node tree as contex t object.');
106 }, 'Multiple >>>s in a selector should work.');
72 </script> 107 </script>
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698