diff --git a/lib/rules/template-require-media-caption.js b/lib/rules/template-require-media-caption.js index 512b29324c..84d2e07bfd 100644 --- a/lib/rules/template-require-media-caption.js +++ b/lib/rules/template-require-media-caption.js @@ -53,6 +53,14 @@ module.exports = { return; } } + + // Any other dynamic value (e.g. muted="{{isMuted}}" → ConcatStatement, + // or muted={{#if ...}}...{{/if}} → BlockStatement) → treat as exempt. + // Matches upstream ember-template-lint behavior where MustacheStatement, + // BlockStatement, or any non-text/non-"false" value is considered muted. + if (value.type !== 'GlimmerTextNode' && value.type !== 'GlimmerMustacheStatement') { + return; + } } // Check if there's a track element with kind="captions" as a child diff --git a/tests/lib/rules/template-require-media-caption.js b/tests/lib/rules/template-require-media-caption.js index e943665965..c7d9f25b8e 100644 --- a/tests/lib/rules/template-require-media-caption.js +++ b/tests/lib/rules/template-require-media-caption.js @@ -34,6 +34,8 @@ ruleTester.run('template-require-media-caption', rule, { '', '', '', + '', + '', '', ], @@ -148,6 +150,8 @@ hbsRuleTester.run('template-require-media-caption', rule, { '', '', '', + '', + '', '', ], invalid: [