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: ` - - `, + code: '', }, - // 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'; - - `, + code: "import { deprecatedHelper } from './deprecated-helper';\n", + 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", 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'; - - `, + code: "import DeprecatedComponent from './deprecated-component';\n", 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' } }], },