Skip to content

Commit 081d8e7

Browse files
committed
add new autoFix test
1 parent d1b2329 commit 081d8e7

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

tests/autofix.spec.js

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,52 @@ describe('autofix', () => {
5555
assert.strictEqual(output, expected);
5656
});
5757
});
58+
59+
describe('autofix-required-first', () => {
60+
it('should properly format comments and indent level for required first option', () => {
61+
const { name: tmpDir } = tmp.dirSync({
62+
prefix: 'typescript-sort-keys-',
63+
unsafeCleanup: true,
64+
});
65+
66+
const testFilePath = Path.join(tmpDir, 'autofix-required-first.ts');
67+
68+
const input = fs.readFileSync('tests/fixtures/autofix.input.ts', 'utf8');
69+
70+
const expected = fs.readFileSync(
71+
'tests/fixtures/autofix-required-first.output.ts',
72+
'utf8',
73+
);
74+
75+
fs.writeFileSync(testFilePath, input);
76+
77+
const result = spawn.sync(
78+
'eslint',
79+
[
80+
'--ext',
81+
'.ts',
82+
'--rulesdir',
83+
'lib/rules',
84+
'--config',
85+
require.resolve('./fixtures/.eslintrcRequiredFirst'),
86+
testFilePath,
87+
'--fix',
88+
],
89+
{
90+
encoding: 'utf8',
91+
},
92+
);
93+
94+
if (result.status !== 0) {
95+
// eslint-disable-next-line no-console
96+
console.error(result.stdout);
97+
// eslint-disable-next-line no-console
98+
console.error(result.stderr);
99+
throw new Error(`Process exited with status ${result.status}`);
100+
}
101+
102+
const output = fs.readFileSync(testFilePath, 'utf8');
103+
104+
assert.strictEqual(output, expected);
105+
});
106+
});
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
module.exports = {
2+
root: true,
3+
parser: '@typescript-eslint/parser',
4+
plugins: ['@typescript-eslint'],
5+
rules: {
6+
interface: ['error', 'asc', { caseSensitive: true, natural: true, requiredFirst: true }],
7+
'string-enum': 'error',
8+
},
9+
settings: {
10+
'import/parsers': {
11+
'@typescript-eslint/parser': ['.ts'],
12+
},
13+
},
14+
};

0 commit comments

Comments
 (0)