@@ -74,7 +74,18 @@ describe('dom.findUp', function () {
74
74
assert . equal ( axe . commons . dom . findUp ( el . actualNode , 'label' ) , fixture . firstChild ) ;
75
75
} ) ;
76
76
77
- it ( 'should walk up the assigned slot' , function ( ) {
77
+ ( shadowSupport . v0 ? it : xit ) ( 'should work on shadow root children' , function ( ) {
78
+ fixture . innerHTML = '<div role="list"><div id="something"></div></div>' ;
79
+ var shadow = fixture . querySelector ( '#something' ) . createShadowRoot ( ) ;
80
+
81
+ shadow . innerHTML = '<div role="listitem">item 1</div>' ;
82
+ var listItem = shadow . querySelector ( '[role=listitem]' ) ;
83
+
84
+ assert . equal ( axe . commons . dom . findUp ( listItem , '[role=list]' ) ,
85
+ fixture . firstChild ) ;
86
+ } ) ;
87
+
88
+ ( shadowSupport . v1 ? it : xit ) ( 'should walk up the assigned slot' , function ( ) {
78
89
function createContentSlotted ( ) {
79
90
var group = document . createElement ( 'div' ) ;
80
91
group . innerHTML = '<div id="target" style="display:none;">Stuff<slot></slot></div>' ;
@@ -86,16 +97,15 @@ describe('dom.findUp', function () {
86
97
root . appendChild ( div ) ;
87
98
div . appendChild ( createContentSlotted ( ) ) ;
88
99
}
89
- if ( shadowSupport . v1 ) {
90
- fixture . innerHTML = '<label><div><p><a>hello</a></p></div></label>' ;
91
- makeShadowTree ( fixture . querySelector ( 'div' ) ) ;
92
- var tree = axe . utils . getFlattenedTree ( fixture . firstChild ) ;
93
- var el = axe . utils . querySelectorAll ( tree , 'a' ) [ 0 ] ;
94
- assert . equal ( axe . commons . dom . findUp ( el . actualNode , 'label' ) , fixture . firstChild ) ;
95
- }
100
+
101
+ fixture . innerHTML = '<label><div><p><a>hello</a></p></div></label>' ;
102
+ makeShadowTree ( fixture . querySelector ( 'div' ) ) ;
103
+ var tree = axe . utils . getFlattenedTree ( fixture . firstChild ) ;
104
+ var el = axe . utils . querySelectorAll ( tree , 'a' ) [ 0 ] ;
105
+ assert . equal ( axe . commons . dom . findUp ( el . actualNode , 'label' ) , fixture . firstChild ) ;
96
106
} ) ;
97
107
98
- it ( 'should walk up the shadow DOM' , function ( ) {
108
+ ( shadowSupport . v1 ? it : xit ) ( 'should walk up the shadow DOM' , function ( ) {
99
109
function createContent ( ) {
100
110
var group = document . createElement ( 'div' ) ;
101
111
group . innerHTML = '<a>thing</a>' ;
@@ -107,12 +117,22 @@ describe('dom.findUp', function () {
107
117
root . appendChild ( div ) ;
108
118
div . appendChild ( createContent ( ) ) ;
109
119
}
110
- if ( shadowSupport . v1 ) {
111
- fixture . innerHTML = '<label><div></div></label>' ;
112
- makeShadowTree ( fixture . querySelector ( 'div' ) ) ;
113
- var tree = axe . utils . getFlattenedTree ( fixture . firstChild ) ;
114
- var el = axe . utils . querySelectorAll ( tree , 'a' ) [ 0 ] ;
115
- assert . equal ( axe . commons . dom . findUp ( el . actualNode , 'label' ) , fixture . firstChild ) ;
116
- }
120
+
121
+ fixture . innerHTML = '<label><div></div></label>' ;
122
+ makeShadowTree ( fixture . querySelector ( 'div' ) ) ;
123
+ var tree = axe . utils . getFlattenedTree ( fixture . firstChild ) ;
124
+ var el = axe . utils . querySelectorAll ( tree , 'a' ) [ 0 ] ;
125
+ assert . equal ( axe . commons . dom . findUp ( el . actualNode , 'label' ) , fixture . firstChild ) ;
126
+ } ) ;
127
+
128
+ ( shadowSupport . v1 ? it : xit ) ( 'should work on shadow root children' , function ( ) {
129
+ fixture . innerHTML = '<div role="list"><div id="something"></div></div>' ;
130
+ var shadow = fixture . querySelector ( '#something' ) . attachShadow ( { mode : 'open' } ) ;
131
+
132
+ shadow . innerHTML = '<div role="listitem">item 1</div>' ;
133
+ var listItem = shadow . querySelector ( '[role=listitem]' ) ;
134
+
135
+ assert . equal ( axe . commons . dom . findUp ( listItem , '[role=list]' ) ,
136
+ fixture . firstChild ) ;
117
137
} ) ;
118
138
} ) ;
0 commit comments