Skip to content

Commit

Permalink
feat(experimental-utils): moved types eslint-plugin util to experimen…
Browse files Browse the repository at this point in the history
…tal-utils package
  • Loading branch information
lnguyenfln committed Jun 1, 2021
1 parent 95fd90c commit 2a4fd07
Showing 1 changed file with 18 additions and 37 deletions.
55 changes: 18 additions & 37 deletions packages/eslint-plugin/tests/util/isUnsafeAssignment.test.ts
@@ -1,8 +1,9 @@
import * as ts from 'typescript';
import { TSESTree, ESLintUtils } from '@typescript-eslint/experimental-utils';
import { TSESTree } from '@typescript-eslint/experimental-utils';
import { parseForESLint } from '@typescript-eslint/parser';
import path from 'path';
import { getFixturesRootDir } from '../RuleTester';
import { isUnsafeAssignment } from '../../src/util';

describe('isUnsafeAssignment', () => {
const rootDir = getFixturesRootDir();
Expand Down Expand Up @@ -33,7 +34,7 @@ describe('isUnsafeAssignment', () => {

describe('unsafe', () => {
function expectTypesAre(
result: ReturnType<typeof ESLintUtils.isUnsafeAssignment>,
result: ReturnType<typeof isUnsafeAssignment>,
checker: ts.TypeChecker,
senderStr: string,
receiverStr: string,
Expand All @@ -51,7 +52,7 @@ describe('isUnsafeAssignment', () => {
);

expectTypesAre(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
isUnsafeAssignment(sender, receiver, checker),
checker,
'any',
'string',
Expand All @@ -64,7 +65,7 @@ describe('isUnsafeAssignment', () => {
);

expectTypesAre(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
isUnsafeAssignment(sender, receiver, checker),
checker,
'Set<any>',
'Set<string>',
Expand All @@ -77,7 +78,7 @@ describe('isUnsafeAssignment', () => {
);

expectTypesAre(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
isUnsafeAssignment(sender, receiver, checker),
checker,
'Map<string, any>',
'Map<string, string>',
Expand All @@ -90,7 +91,7 @@ describe('isUnsafeAssignment', () => {
);

expectTypesAre(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
isUnsafeAssignment(sender, receiver, checker),
checker,
'Set<any[]>',
'Set<string[]>',
Expand All @@ -103,7 +104,7 @@ describe('isUnsafeAssignment', () => {
);

expectTypesAre(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
isUnsafeAssignment(sender, receiver, checker),
checker,
'Set<Set<Set<any>>>',
'Set<Set<Set<string>>>',
Expand All @@ -117,97 +118,77 @@ describe('isUnsafeAssignment', () => {
'const test: string = "";',
);

expect(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
).toBeFalsy();
expect(isUnsafeAssignment(sender, receiver, checker)).toBeFalsy();
});

it('non-any to a any', () => {
const { sender, receiver, checker } = getTypes('const test: any = "";');

expect(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
).toBeFalsy();
expect(isUnsafeAssignment(sender, receiver, checker)).toBeFalsy();
});

it('non-any in a generic position to a non-any', () => {
const { sender, receiver, checker } = getTypes(
'const test: Set<string> = new Set<string>();',
);

expect(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
).toBeFalsy();
expect(isUnsafeAssignment(sender, receiver, checker)).toBeFalsy();
});

it('non-any in a generic position to a non-any (multiple generics)', () => {
const { sender, receiver, checker } = getTypes(
'const test: Map<string, string> = new Map<string, string>();',
);

expect(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
).toBeFalsy();
expect(isUnsafeAssignment(sender, receiver, checker)).toBeFalsy();
});

it('non-any[] in a generic position to a non-any[]', () => {
const { sender, receiver, checker } = getTypes(
'const test: Set<string[]> = new Set<string[]>();',
);

expect(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
).toBeFalsy();
expect(isUnsafeAssignment(sender, receiver, checker)).toBeFalsy();
});

it('non-any in a generic position to a non-any (nested)', () => {
const { sender, receiver, checker } = getTypes(
'const test: Set<Set<Set<string>>> = new Set<Set<Set<string>>>();',
);

expect(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
).toBeFalsy();
expect(isUnsafeAssignment(sender, receiver, checker)).toBeFalsy();
});

it('non-any in a generic position to a any (nested)', () => {
const { sender, receiver, checker } = getTypes(
'const test: Set<Set<Set<any>>> = new Set<Set<Set<string>>>();',
);

expect(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
).toBeFalsy();
expect(isUnsafeAssignment(sender, receiver, checker)).toBeFalsy();
});

it('any to a unknown', () => {
const { sender, receiver, checker } = getTypes(
'const test: unknown = [] as any;',
);

expect(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
).toBeFalsy();
expect(isUnsafeAssignment(sender, receiver, checker)).toBeFalsy();
});

it('any[] in a generic position to a unknown[]', () => {
const { sender, receiver, checker } = getTypes(
'const test: unknown[] = [] as any[]',
);

expect(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
).toBeFalsy();
expect(isUnsafeAssignment(sender, receiver, checker)).toBeFalsy();
});

it('any in a generic position to a unknown (nested)', () => {
const { sender, receiver, checker } = getTypes(
'const test: Set<Set<Set<unknown>>> = new Set<Set<Set<any>>>();',
);

expect(
ESLintUtils.isUnsafeAssignment(sender, receiver, checker),
).toBeFalsy();
expect(isUnsafeAssignment(sender, receiver, checker)).toBeFalsy();
});
});
});

0 comments on commit 2a4fd07

Please sign in to comment.