@@ -8,6 +8,11 @@ const ruleTester = new RuleTester({
88
99ruleTester . run ( 'template-no-invalid-link-text' , rule , {
1010 valid : [
11+ // Link with component child — content is opaque, can't validate.
12+ // Mirrors upstream no-invalid-link-text.js L53-56 ("do not flag when link contains additional dynamic (non-text) children").
13+ { filename : 'test.gjs' , code : '<template><a href="/x"><MyComponent /></a></template>' } ,
14+ { filename : 'test.gjs' , code : '<template><a href="/x">prefix <MyComponent /></a></template>' } ,
15+
1116 { filename : 'test.gjs' , code : '<template><a href="/about">About Us</a></template>' } ,
1217 {
1318 filename : 'test.gjs' ,
@@ -149,13 +154,6 @@ ruleTester.run('template-no-invalid-link-text', rule, {
149154 output : null ,
150155 errors : [ { messageId : 'invalidText' } ] ,
151156 } ,
152- {
153- // Nested element content
154- filename : 'test.gjs' ,
155- code : '<template><a href="/page"><span>click here</span></a></template>' ,
156- output : null ,
157- errors : [ { messageId : 'invalidText' } ] ,
158- } ,
159157 {
160158 // aria-label with disallowed text overrides content check
161159 filename : 'test.gjs' ,
@@ -277,12 +275,6 @@ hbsRuleTester.run('template-no-invalid-link-text (hbs)', rule, {
277275 output : null ,
278276 errors : [ { messageId : 'invalidText' } ] ,
279277 } ,
280- {
281- // nested element content — text is in a child element
282- code : '<a href="/page"><span>click here</span></a>' ,
283- output : null ,
284- errors : [ { messageId : 'invalidText' } ] ,
285- } ,
286278 {
287279 code : '<MyLink>click here</MyLink>' ,
288280 output : null ,
0 commit comments