diff --git a/test/linting.spec.js b/test/linting.spec.js index cd3b2c5..7e6cdae 100644 --- a/test/linting.spec.js +++ b/test/linting.spec.js @@ -2,7 +2,7 @@ const { ESLINT_KEY, GULP_WARN_KEY } = require('#util'); -const { createVinylDirectory, createVinylFile, finished, isEmptyArray } = +const { createVinylDirectory, createVinylFile, finishStream, isEmptyArray } = require('./test-util'); const { strict: assert } = require('assert'); @@ -16,7 +16,7 @@ async function testConfig(options) { const filePath = 'file.js'; const file = createVinylFile(filePath, 'console.log(\'Hi\');;'); - await finished(gulpESLintNew(options).resume().end(file)); + await finishStream(gulpESLintNew(options).end(file)); assert.equal(file.eslint.filePath, file.path); assert(Array.isArray(file.eslint.messages)); assert.equal(file.eslint.messages.length, 2); @@ -66,7 +66,7 @@ describe { 'no-var': 2, 'strict': [2, 'global'], 'valid-jsdoc': 1 }, }, }; - await finished(gulpESLintNew(options).resume().end(file)); + await finishStream(gulpESLintNew(options).end(file)); assert.equal(file.eslint.filePath, file.path); assert(Array.isArray(file.eslint.messages)); assert.equal(file.eslint.messages.length, 1); @@ -193,7 +193,7 @@ describe overrideConfig: { rules: { 'no-trailing-spaces': 2 } }, overrideConfigFile: true, }; - await finished(gulpESLintNew(options).resume().end(file)); + await finishStream(gulpESLintNew(options).end(file)); assert.equal(file.eslint.filePath, file.path); assert(isEmptyArray(file.eslint.messages)); assert.equal(file.eslint.errorCount, 0); @@ -227,7 +227,7 @@ describe overrideConfig: { rules: { 'no-trailing-spaces': 2 } }, overrideConfigFile: true, }; - await finished(gulpESLintNew(options).resume().end(file)); + await finishStream(gulpESLintNew(options).end(file)); assert.equal(file.eslint.filePath, file.path); assert(Array.isArray(file.eslint.messages)); assert.equal(file.eslint.messages.length, 1); @@ -286,7 +286,7 @@ describe const stream = gulpESLintNew(options); stream.write(file1); stream.write(file2); - await finished(stream.resume().end()); + await finishStream(stream.end()); assert.equal(file1.eslint.filePath, file1.path); assert(Array.isArray(file1.eslint.messages)); assert.equal(file1.eslint.messages.length, 1); @@ -323,7 +323,7 @@ describe configType: 'flat', overrideConfigFile: true, }; - await finished(gulpESLintNew(options).resume().end(file)); + await finishStream(gulpESLintNew(options).end(file)); assert.equal(file.eslint, undefined); }, ); @@ -383,11 +383,10 @@ describe async () => { const file = createVinylFile('ignored.js', '(function () {ignore = abc;}});'); - await finished + await finishStream ( gulpESLintNew ({ [ESLINT_KEY]: ESLint, useEslintrc: false, warnIgnored: true }) - .resume() .end(file), ); assert.equal(file.eslint.filePath, file.path); @@ -425,7 +424,7 @@ describe reportUnusedDisableDirectives: 'warn', useEslintrc: false, }; - await finished(gulpESLintNew(options).resume().end(file)); + await finishStream(gulpESLintNew(options).end(file)); assert.equal(file.eslint.filePath, file.path); assert(Array.isArray(file.eslint.messages)); assert.equal(file.eslint.messages.length, 1); @@ -448,7 +447,7 @@ describe async () => { const file = createVinylFile('file.js', ''); - await finished + await finishStream ( gulpESLintNew ( @@ -459,7 +458,6 @@ describe useEslintrc: false, }, ) - .resume() .end(file), ); assert.equal(file.eslint.filePath, file.path); @@ -535,12 +533,8 @@ describe async () => { const file = createVinylFile('semi/file.js', '$()'); - await finished - ( - gulpESLintNew({ [ESLINT_KEY]: ESLint, useEslintrc: true }) - .resume() - .end(file), - ); + await finishStream + (gulpESLintNew({ [ESLINT_KEY]: ESLint, useEslintrc: true }).end(file)); assert.equal(file.eslint.filePath, file.path); assert(Array.isArray(file.eslint.messages)); assert.equal(file.eslint.messages.length, 1); @@ -564,12 +558,8 @@ describe async () => { const file = createVinylFile('semi/file.js', '$()'); - await finished - ( - gulpESLintNew({ [ESLINT_KEY]: ESLint, useEslintrc: false }) - .resume() - .end(file), - ); + await finishStream + (gulpESLintNew({ [ESLINT_KEY]: ESLint, useEslintrc: false }).end(file)); assert.equal(file.eslint.filePath, file.path); assert(isEmptyArray(file.eslint.messages)); }, @@ -586,7 +576,7 @@ describe let emittedError; await assert.rejects ( - finished + finishStream ( gulpESLintNew ( @@ -647,12 +637,7 @@ describe async () => { const file = createVinylFile('file.js', '$()'); - await finished - ( - gulpESLintNew('semi/.eslintrc') - .resume() - .end(file), - ); + await finishStream(gulpESLintNew('semi/.eslintrc').end(file)); assert.equal(file.eslint.filePath, file.path); assert(Array.isArray(file.eslint.messages)); assert.equal(file.eslint.messages.length, 1); @@ -771,10 +756,9 @@ describe async () => { const file = createVinylDirectory(); - await finished + await finishStream ( gulpESLintNew({ baseConfig: { rules: { 'strict': 2 } }, useEslintrc: false }) - .resume() .end(file), ); assert.equal(file.eslint, undefined); @@ -790,7 +774,7 @@ describe new VinylFile({ path: resolve('stream.js'), contents: Readable.from([]) }); await assert.rejects ( - finished(gulpESLintNew({ useEslintrc: false }).end(file)), + finishStream(gulpESLintNew({ useEslintrc: false }).end(file)), { message: 'gulp-eslint-new doesn\'t support Vinyl files with Stream contents.', @@ -812,7 +796,7 @@ describe { const file = createVinylFile('invalid.js', 'a = 01;\nb = 02; // eslint-disable-line'); - await finished + await finishStream ( gulpESLintNew ( @@ -823,7 +807,6 @@ describe useEslintrc: false, }, ) - .resume() .end(file), ); assert.equal(file.eslint.filePath, file.path); @@ -849,7 +832,7 @@ describe { const file = createVinylFile('invalid.js', 'a = 01;\nb = 02; // eslint-disable-line'); - await finished + await finishStream ( gulpESLintNew ( @@ -860,7 +843,6 @@ describe useEslintrc: false, }, ) - .resume() .end(file), ); assert.equal(file.eslint.filePath, file.path); @@ -950,7 +932,7 @@ describe configType: 'flat', overrideConfigFile: true, }; - await finished(gulpESLintNew(options).resume().end(file)); + await finishStream(gulpESLintNew(options).end(file)); assert.equal(file.eslint.filePath, file.path); assert(Array.isArray(file.eslint.messages)); assert.equal(file.eslint.messages.length, 1); diff --git a/test/organize-options.spec.js b/test/organize-options.spec.js index 6e73fbc..6ac2771 100644 --- a/test/organize-options.spec.js +++ b/test/organize-options.spec.js @@ -485,7 +485,7 @@ describe const { eslintOptions, migratedOptions } = organizeOptions({ overrideConfig: 'foo' }); assert.equal(eslintOptions.overrideConfig, 'foo'); - assert.deepEqual(migratedOptions, []); + assert(isEmptyArray(migratedOptions)); }, ); diff --git a/test/result.spec.js b/test/result.spec.js index 2232bdb..d11a26f 100644 --- a/test/result.spec.js +++ b/test/result.spec.js @@ -1,10 +1,10 @@ 'use strict'; -const { ESLINT_KEY } = require('#util'); -const { createVinylFile, finished, isEmptyArray, noop } = require('./test-util'); -const { strict: assert } = require('assert'); -const { promises: { realpath } } = require('fs'); -const gulpESLintNew = require('gulp-eslint-new'); +const { ESLINT_KEY } = require('#util'); +const { createVinylFile, finishStream, isEmptyArray, noop } = require('./test-util'); +const { strict: assert } = require('assert'); +const { promises: { realpath } } = require('fs'); +const gulpESLintNew = require('gulp-eslint-new'); describe ( @@ -138,7 +138,7 @@ describe file.eslint = { }; await assert.rejects ( - finished + finishStream ( gulpESLintNew .result @@ -164,7 +164,7 @@ describe file.eslint = { }; await assert.rejects ( - finished + finishStream ( gulpESLintNew .result @@ -221,7 +221,7 @@ describe let result; const file = createVinylFile('invalid.js', '#invalid!syntax}'); file.eslint = { }; - await finished + await finishStream ( gulpESLintNew .result @@ -238,7 +238,6 @@ describe ); }, ) - .resume() .on('end', () => assert(result)) .end(file), ); @@ -254,7 +253,7 @@ describe let cwd; const file = createVinylFile('invalid.js', '#invalid!syntax}'); file.eslint = { cwd: process.cwd() }; - await finished + await finishStream ( gulpESLintNew .result @@ -264,7 +263,6 @@ describe cwd = await realpath(result.cwd); }, ) - .resume() .on('end', () => assert(cwd)) .end(file), ); @@ -381,7 +379,7 @@ describe file.eslint = { }; await assert.rejects ( - finished + finishStream ( gulpESLintNew .results @@ -407,7 +405,7 @@ describe file.eslint = { }; await assert.rejects ( - finished + finishStream ( gulpESLintNew .results @@ -443,7 +441,7 @@ describe async () => { let results; - await finished + await finishStream ( gulpESLintNew .results @@ -453,7 +451,6 @@ describe results = actualResults; }, ) - .resume() .end(createVinylFile('invalid.js', '#invalid!syntax}')), ); assert(isEmptyArray(results)); @@ -468,7 +465,7 @@ describe let results; const file = createVinylFile('invalid.js', '#invalid!syntax}'); file.eslint = { }; - await finished + await finishStream ( gulpESLintNew .results @@ -485,7 +482,6 @@ describe ); }, ) - .resume() .on('end', () => assert(results)) .end(file), ); @@ -503,7 +499,7 @@ describe let cwd; const file = createVinylFile('invalid.js', '#invalid!syntax}'); file.eslint = { }; - await finished + await finishStream ( gulpESLintNew .results @@ -513,7 +509,6 @@ describe cwd = await realpath(process.cwd()); }, ) - .resume() .on('end', () => assert(cwd)) .end(file), ); diff --git a/test/test-util.js b/test/test-util.js index ff21d8f..b6ac050 100644 --- a/test/test-util.js +++ b/test/test-util.js @@ -19,7 +19,8 @@ exports.createVinylFile = return file; }; -exports.finished = promisify(finished); +const finishedAsync = promisify(finished); +exports.finishStream = async stream => await finishedAsync(stream.resume()); // In some versions on Node.js, `assert.deepEqual(value, []);` does not throw an error if `value` is // undefined. diff --git a/test/util.spec.js b/test/util.spec.js index 5931459..8213d52 100644 --- a/test/util.spec.js +++ b/test/util.spec.js @@ -1,13 +1,13 @@ 'use strict'; -const util = require('#util'); -const { createVinylFile, finished, noop } = require('./test-util'); -const { strict: assert } = require('assert'); +const util = require('#util'); +const { createVinylFile, finishStream, noop } = require('./test-util'); +const { strict: assert } = require('assert'); // eslint-disable-next-line n/no-deprecated-api -const { Domain } = require('domain'); -const { resolve } = require('path'); -const { satisfies } = require('semver'); -const { Writable } = require('stream'); +const { Domain } = require('domain'); +const { resolve } = require('path'); +const { satisfies } = require('semver'); +const { Writable } = require('stream'); describe ( @@ -309,7 +309,7 @@ describe let actualFile; let finishCalled = false; const expectedFile = createVinylFile('invalid.js', 'x = 1;'); - await finished + await finishStream ( util .createTransform @@ -371,7 +371,6 @@ describe finalCount = count; }, ) - .resume() .on ( 'finish', @@ -383,7 +382,7 @@ describe ); files.forEach(file => testStream.write(file)); testStream.end(); - await finished(testStream); + await finishStream(testStream); assert(finishCalled); }, );