Skip to content

Commit d42876e

Browse files
Merge pull request #2637 from tcjr/link-text-conditional
Fix rule: ember/template-no-invalid-link-text
2 parents 37b5777 + dc7d37d commit d42876e

2 files changed

Lines changed: 28 additions & 1 deletion

File tree

lib/rules/template-no-invalid-link-text.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@ function getTextContentResult(node) {
44
if (node.type === 'GlimmerTextNode') {
55
return { text: node.chars.replaceAll(' ', ' '), hasDynamic: false };
66
}
7-
if (node.type === 'GlimmerMustacheStatement' || node.type === 'GlimmerSubExpression') {
7+
if (
8+
node.type === 'GlimmerMustacheStatement' ||
9+
node.type === 'GlimmerSubExpression' ||
10+
node.type === 'GlimmerBlockStatement'
11+
) {
812
return { text: '', hasDynamic: true };
913
}
1014
if (node.type === 'GlimmerElementNode' && node.children) {

tests/lib/rules/template-no-invalid-link-text.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,29 @@ ruleTester.run('template-no-invalid-link-text', rule, {
5353
filename: 'test.gjs',
5454
code: "import { LinkTo } from '@ember/routing'; <template><LinkTo aria-label={{t 'some-translation'}}>A link with translation</LinkTo></template>",
5555
},
56+
{
57+
filename: 'test.gjs',
58+
code: '<template><a href="/play">{{if game.inProgress "Continue" "Start"}}</a></template>',
59+
},
60+
{
61+
filename: 'test.gjs',
62+
code: `
63+
import { LinkTo } from '@ember/routing';
64+
<template>
65+
<LinkTo>
66+
{{#if game.inProgress}}
67+
Continue
68+
{{else}}
69+
Start
70+
{{/if}}
71+
</LinkTo>
72+
</template>
73+
`,
74+
},
75+
{
76+
filename: 'test.gjs',
77+
code: '<template><a href="/play">{{#if game.inProgress}}Continue{{else}}Start{{/if}}</a></template>',
78+
},
5679
],
5780

5881
invalid: [

0 commit comments

Comments
 (0)