@@ -2,6 +2,7 @@ describe('link-in-text-block', function () {
2
2
'use strict' ;
3
3
4
4
var fixture = document . getElementById ( 'fixture' ) ;
5
+ var shadowSupport = axe . testUtils . shadowSupport ;
5
6
var styleElm ;
6
7
7
8
var checkContext = {
@@ -48,12 +49,12 @@ describe('link-in-text-block', function () {
48
49
if ( defaultStyle . hasOwnProperty ( prop ) ) {
49
50
styleObj [ prop ] = defaultStyle [ prop ] ;
50
51
}
51
- }
52
+ }
52
53
for ( prop in outerStyle ) {
53
54
if ( outerStyle . hasOwnProperty ( prop ) ) {
54
55
styleObj [ prop ] = outerStyle [ prop ] ;
55
56
}
56
- }
57
+ }
57
58
58
59
var cssLines = Object . keys ( styleObj ) . map ( function ( prop ) {
59
60
// Make camelCase prop dash separated
@@ -143,6 +144,45 @@ describe('link-in-text-block', function () {
143
144
axe . commons . color . elementIsDistinct = orig ;
144
145
} ) ;
145
146
147
+ ( shadowSupport . v1 ? it : xit ) ( 'works with the block outside the shadow tree' , function ( ) {
148
+ var parentElm = document . createElement ( 'div' ) ;
149
+ var shadow = parentElm . attachShadow ( { mode : 'open' } ) ;
150
+ shadow . innerHTML = '<a href="">Link</a>' ;
151
+ var linkElm = shadow . querySelector ( 'a' ) ;
152
+ fixture . appendChild ( parentElm ) ;
153
+
154
+ var orig = axe . commons . color . elementIsDistinct ;
155
+ axe . commons . color . elementIsDistinct = function ( arg1 , arg2 ) {
156
+ assert . deepEqual ( arg1 , linkElm ) ;
157
+ assert . deepEqual ( arg2 , parentElm ) ;
158
+ return orig ( arg1 , arg2 ) ;
159
+ } ;
160
+
161
+ checks [ 'link-in-text-block' ] . evaluate . call ( checkContext , linkElm ) ;
162
+ axe . commons . color . elementIsDistinct = orig ;
163
+ } ) ;
164
+
165
+ ( shadowSupport . v1 ? it : xit ) ( 'works with the link inside the shadow tree slot' , function ( ) {
166
+ var div = document . createElement ( 'div' ) ;
167
+ div . innerHTML = '<a href="">Link</a>' ;
168
+ var shadow = div . attachShadow ( { mode : 'open' } ) ;
169
+ shadow . innerHTML = '<p><slot></slot></p>' ;
170
+ fixture . appendChild ( div ) ;
171
+
172
+ var linkElm = div . querySelector ( 'a' ) ;
173
+ var parentElm = shadow . querySelector ( 'p' ) ;
174
+
175
+ var orig = axe . commons . color . elementIsDistinct ;
176
+ axe . commons . color . elementIsDistinct = function ( arg1 , arg2 ) {
177
+ assert . deepEqual ( arg1 , linkElm ) ;
178
+ assert . deepEqual ( arg2 , parentElm ) ;
179
+ return orig ( arg1 , arg2 ) ;
180
+ } ;
181
+
182
+ checks [ 'link-in-text-block' ] . evaluate . call ( checkContext , linkElm ) ;
183
+ axe . commons . color . elementIsDistinct = orig ;
184
+ } ) ;
185
+
146
186
} ) ;
147
187
148
188
@@ -208,16 +248,16 @@ describe('link-in-text-block', function () {
208
248
} ) ;
209
249
210
250
it ( 'returns relatedNodes with undefined' , function ( ) {
211
- var linkElm = getLinkElm ( { } , {
212
- color : '#000010' ,
213
- backgroundImage : 'url(data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7)'
214
- } , {
215
- color : '#000000'
216
- } ) ;
217
- assert . isUndefined ( checks [ 'link-in-text-block' ] . evaluate . call ( checkContext , linkElm ) ) ;
218
- assert . equal (
219
- checkContext . _relatedNodes [ 0 ] ,
220
- linkElm . parentNode
221
- ) ;
251
+ var linkElm = getLinkElm ( { } , {
252
+ color : '#000010' ,
253
+ backgroundImage : 'url(data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7)'
254
+ } , {
255
+ color : '#000000'
222
256
} ) ;
257
+ assert . isUndefined ( checks [ 'link-in-text-block' ] . evaluate . call ( checkContext , linkElm ) ) ;
258
+ assert . equal (
259
+ checkContext . _relatedNodes [ 0 ] ,
260
+ linkElm . parentNode
261
+ ) ;
262
+ } ) ;
223
263
} ) ;
0 commit comments