diff --git a/docs/rules/template-no-deprecated.md b/docs/rules/template-no-deprecated.md
index 0a6d7b98ea..4f9814aafb 100644
--- a/docs/rules/template-no-deprecated.md
+++ b/docs/rules/template-no-deprecated.md
@@ -18,8 +18,7 @@ This rule checks if imported Glimmer components, helpers, or modifiers are marke
| Helper / value mustache | `{{deprecatedHelper}}` |
| Block component | `{{#DeprecatedBlock}}…{{/DeprecatedBlock}}` |
| Modifier | `
` |
-
-**Not covered:** `
` — checking argument deprecations is not yet implemented.
+| Component argument | `` |
## Examples
diff --git a/tests/lib/rules/template-no-deprecated.js b/tests/lib/rules/template-no-deprecated.js
index 7d2ed3279e..55c6b4ef02 100644
--- a/tests/lib/rules/template-no-deprecated.js
+++ b/tests/lib/rules/template-no-deprecated.js
@@ -58,83 +58,65 @@ const ruleTesterTyped = new RuleTester({
ruleTesterTyped.run('template-no-deprecated (with TS project)', rule, {
valid: [
- // Non-deprecated component — no error
+ // Non-deprecated component
{
filename: path.join(FIXTURES_DIR, 'usage.gts'),
- code: `
- import CurrentComponent from './current-component';
-
- `,
+ code: "import CurrentComponent from './current-component';\n",
},
// Plain HTML tag
{
filename: path.join(FIXTURES_DIR, 'usage.gts'),
- code: `
-
- `,
+ code: '',
},
// this.something — no scope reference
{
filename: path.join(FIXTURES_DIR, 'usage.gts'),
- code: `
- {{this.foo}}
- `,
+ code: '{{this.foo}}',
},
- // Non-deprecated @arg — no error
+ // Non-deprecated @arg
{
filename: path.join(FIXTURES_DIR, 'usage.gts'),
- code: `
- import ComponentWithArgs from './component-with-args';
-
- `,
+ code: "import ComponentWithArgs from './component-with-args';\n",
},
- // @arg on a component with no typed Args — silently skip
+ // @arg on a component with no typed Args
{
filename: path.join(FIXTURES_DIR, 'usage.gts'),
- code: `
- import CurrentComponent from './current-component';
-
- `,
+ code: "import CurrentComponent from './current-component';\n",
},
],
invalid: [
// Deprecated component in element position
{
filename: path.join(FIXTURES_DIR, 'usage.gts'),
- code: `
- import DeprecatedComponent from './deprecated-component';
-
- `,
+ code: "import DeprecatedComponent from './deprecated-component';\n",
output: null,
errors: [{ messageId: 'deprecatedWithReason', type: 'GlimmerElementNodePart' }],
},
// Deprecated helper in mustache position
{
filename: path.join(FIXTURES_DIR, 'usage.gts'),
- code: `
- import { deprecatedHelper } from './deprecated-helper';
- {{deprecatedHelper}}
- `,
+ code: "import { deprecatedHelper } from './deprecated-helper';\n{{deprecatedHelper}}",
+ output: null,
+ errors: [{ messageId: 'deprecated', type: 'VarHead' }],
+ },
+ // Deprecated helper in sub-expression position
+ {
+ filename: path.join(FIXTURES_DIR, 'usage.gts'),
+ code: "import { deprecatedHelper } from './deprecated-helper';\n{{fn (deprecatedHelper)}}",
output: null,
errors: [{ messageId: 'deprecated', type: 'VarHead' }],
},
// Deprecated component in block position
{
filename: path.join(FIXTURES_DIR, 'usage.gts'),
- code: `
- import DeprecatedComponent from './deprecated-component';
- {{#DeprecatedComponent}}{{/DeprecatedComponent}}
- `,
+ code: "import DeprecatedComponent from './deprecated-component';\n{{#DeprecatedComponent}}{{/DeprecatedComponent}}",
output: null,
errors: [{ messageId: 'deprecatedWithReason', type: 'VarHead' }],
},
// Deprecated @arg with reason
{
filename: path.join(FIXTURES_DIR, 'usage.gts'),
- code: `
- import ComponentWithArgs from './component-with-args';
-
- `,
+ code: "import ComponentWithArgs from './component-with-args';\n",
output: null,
errors: [
{
@@ -146,10 +128,7 @@ ruleTesterTyped.run('template-no-deprecated (with TS project)', rule, {
// Deprecated @arg without reason
{
filename: path.join(FIXTURES_DIR, 'usage.gts'),
- code: `
- import ComponentWithArgs from './component-with-args';
-
- `,
+ code: "import ComponentWithArgs from './component-with-args';\n",
output: null,
errors: [{ messageId: 'deprecated', data: { name: '@oldArgNoReason' } }],
},