Skip to content

Commit

Permalink
Fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
fasttime committed Jan 7, 2024
1 parent c97b5f6 commit 5c2688d
Showing 1 changed file with 73 additions and 97 deletions.
170 changes: 73 additions & 97 deletions test/linting.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,19 +52,21 @@ describe
const options =
useEslintrcConfig ?
{
[ESLINT_KEY]: ESLint,
[ESLINT_KEY]: ESLint,
baseConfig:
{ rules: { 'no-var': 2, 'strict': [2, 'global'], 'valid-jsdoc': 1 } },
useEslintrc: false,
} :
{
[ESLINT_KEY]: ESLint,
configType: 'flat',
[ESLINT_KEY]: ESLint,
configType: 'flat',
overrideConfig:
{
languageOptions: { sourceType: 'script' },
rules:
{ 'no-var': 2, 'strict': [2, 'global'], 'valid-jsdoc': 1 },
},
overrideConfigFile: true,
};
await finishStream(gulpESLintNew(options).end(file));
assert.equal(file.eslint.filePath, file.path);
Expand Down Expand Up @@ -246,9 +248,13 @@ describe
'when invalid, should throw an error',
() =>
{
const options =
useEslintrcConfig ?
{ [ESLINT_KEY]: ESLint, fix: null } :
{ [ESLINT_KEY]: ESLint, configType: 'flat', fix: null };
assert.throws
(
() => gulpESLintNew({ [ESLINT_KEY]: ESLint, fix: null }),
() => gulpESLintNew(options),
({ code, constructor: { name } }) =>
code === 'ESLINT_INVALID_OPTIONS' &&
name === 'ESLintInvalidOptionsError',
Expand All @@ -257,98 +263,6 @@ describe
);
},
);

describe
(
'"warnIgnored" option',
() =>
{
it
(
'when true, should warn about ignored files',
async () =>
{
const file1 = createVinylFile('.git/file1.js', '');
const file2 = createVinylFile('node_modules/file2.js', '');
const options =
useEslintrcConfig ?
{
[ESLINT_KEY]: ESLint,
useEslintrc: false,
warnIgnored: true,
} :
{
[ESLINT_KEY]: ESLint,
configType: 'flat',
overrideConfigFile: true,
warnIgnored: true,
};
const stream = gulpESLintNew(options);
stream.write(file1);
stream.write(file2);
await finishStream(stream.end());
assert.equal(file1.eslint.filePath, file1.path);
assert(Array.isArray(file1.eslint.messages));
assert.equal(file1.eslint.messages.length, 1);
assert.equal(file1.eslint.errorCount, 0);
assert.equal(file1.eslint.warningCount, 1);
assert.equal(file1.eslint.fixableErrorCount, 0);
assert.equal(file1.eslint.fixableWarningCount, 0);
assert.equal(file1.eslint.fatalErrorCount, 0);
assert.equal(file2.eslint.filePath, file2.path);
assert(Array.isArray(file2.eslint.messages));
assert.equal(file2.eslint.messages.length, 1);
assert.equal(file2.eslint.errorCount, 0);
assert.equal(file2.eslint.warningCount, 1);
assert.equal(file2.eslint.fixableErrorCount, 0);
assert.equal(file2.eslint.fixableWarningCount, 0);
assert.equal(file2.eslint.fatalErrorCount, 0);
},
);

it
(
'when not specified, should not warn about an ignored file',
async () =>
{
const file = createVinylFile('node_modules/file.js', '');
const options =
useEslintrcConfig ?
{
[ESLINT_KEY]: ESLint,
useEslintrc: false,
} :
{
[ESLINT_KEY]: ESLint,
configType: 'flat',
overrideConfigFile: true,
};
await finishStream(gulpESLintNew(options).end(file));
assert.equal(file.eslint, undefined);
},
);

it
(
'when invalid, should throw an error',
() =>
{
const options =
useEslintrcConfig ?
{
[ESLINT_KEY]: ESLint,
warnIgnored: null,
} :
{
[ESLINT_KEY]: ESLint,
configType: 'flat',
warnIgnored: null,
};
assert.throws(() => gulpESLintNew(options), { constructor: Error });
},
);
},
);
}

function testEslintrcLinting(ESLint)
Expand Down Expand Up @@ -580,7 +494,11 @@ describe
(
gulpESLintNew
(
{ [ESLINT_KEY]: ESLint, overrideConfig: { plugins: [pluginName] } },
{
[ESLINT_KEY]: ESLint,
overrideConfig: { plugins: [pluginName] },
useEslintrc: false,
},
)
.on
(
Expand Down Expand Up @@ -876,6 +794,64 @@ describe
},
);

describe
(
'"warnIgnored" option',
() =>
{
it
(
'when true, should warn about ignored files',
async () =>
{
const file1 = createVinylFile('.git/file1.js', '');
const file2 = createVinylFile('node_modules/file2.js', '');
const stream = gulpESLintNew({ useEslintrc: false, warnIgnored: true });
stream.write(file1);
stream.write(file2);
await finishStream(stream.end());
assert.equal(file1.eslint.filePath, file1.path);
assert(Array.isArray(file1.eslint.messages));
assert.equal(file1.eslint.messages.length, 1);
assert.equal(file1.eslint.errorCount, 0);
assert.equal(file1.eslint.warningCount, 1);
assert.equal(file1.eslint.fixableErrorCount, 0);
assert.equal(file1.eslint.fixableWarningCount, 0);
assert.equal(file1.eslint.fatalErrorCount, 0);
assert.equal(file2.eslint.filePath, file2.path);
assert(Array.isArray(file2.eslint.messages));
assert.equal(file2.eslint.messages.length, 1);
assert.equal(file2.eslint.errorCount, 0);
assert.equal(file2.eslint.warningCount, 1);
assert.equal(file2.eslint.fixableErrorCount, 0);
assert.equal(file2.eslint.fixableWarningCount, 0);
assert.equal(file2.eslint.fatalErrorCount, 0);
},
);

it
(
'when not specified, should not warn about an ignored file',
async () =>
{
const file = createVinylFile('node_modules/file.js', '');
await finishStream(gulpESLintNew({ useEslintrc: false }).end(file));
assert.equal(file.eslint, undefined);
},
);

it
(
'when invalid, should throw an error',
() =>
{
assert.throws
(() => gulpESLintNew({ warnIgnored: null }), { constructor: Error });
},
);
},
);

describe
(
'with ESLint 8.0',
Expand Down

0 comments on commit 5c2688d

Please sign in to comment.