Skip to content

Commit

Permalink
no-deprecated TS tests (#1315)
Browse files Browse the repository at this point in the history
  • Loading branch information
benmosher committed Jun 29, 2019
1 parent c924f5d commit bb9ba24
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
8 changes: 8 additions & 0 deletions tests/files/ts-deprecated.ts
@@ -0,0 +1,8 @@
/**
* this is what you get when you trust a mouse talk show
* @deprecated don't use this!
* @returns {string} nonsense
*/
export function foo() {
return 'bar'
}
45 changes: 45 additions & 0 deletions tests/src/rules/no-deprecated.js
@@ -1,6 +1,9 @@
import { test, SYNTAX_CASES } from '../utils'

import { RuleTester } from 'eslint'
import eslintPkg from 'eslint/package.json'
import semver from 'semver'


const ruleTester = new RuleTester()
, rule = require('rules/no-deprecated')
Expand Down Expand Up @@ -197,3 +200,45 @@ ruleTester.run('no-deprecated: hoisting', rule, {

],
})

describe('Typescript', function () {
// Typescript
const parsers = []

if (semver.satisfies(eslintPkg.version, '>5.0.0')) {
parsers.push(require.resolve('@typescript-eslint/parser'))
}

if (semver.satisfies(eslintPkg.version, '<6.0.0')) {
parsers.push(require.resolve('typescript-eslint-parser'))
}

parsers.forEach((parser) => {
const parserConfig = {
parser: parser,
settings: {
'import/parsers': { [parser]: ['.ts'] },
'import/resolver': { 'eslint-import-resolver-typescript': true },
},
}

ruleTester.run(parser, rule, {
valid: [
test({
code: "import * as hasDeprecated from './ts-deprecated.ts'",
...parserConfig,
})
],
invalid: [
test({
code: "import { foo } from './ts-deprecated.ts'; console.log(foo())",
errors: [
{ type: 'ImportSpecifier', message: 'Deprecated: don\'t use this!' },
{ type: "Identifier", message: "Deprecated: don\'t use this!" }
],
...parserConfig,
})
]
})
})
})

0 comments on commit bb9ba24

Please sign in to comment.