Skip to content

Commit

Permalink
update tests for eslint v8 [run ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
AtofStryker committed Apr 23, 2024
1 parent 3b92c5f commit d6b086a
Show file tree
Hide file tree
Showing 7 changed files with 127 additions and 120 deletions.
7 changes: 5 additions & 2 deletions npm/eslint-plugin-dev/lib/custom-rules/no-only.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
const eslint = require('eslint')
// @see https://github.com/eslint/eslint/blob/v8.57.0/lib/shared/ast-utils.js#L12
// This value is not exported anywhere, but hasn't changed in almost a decade.
// we can directly reference the pattern here
const lineBreakPattern = /\r\n|[\r\n\u2028\u2029]/u

module.exports = {
meta: {
Expand All @@ -19,7 +22,7 @@ module.exports = {
const sourceCode = context.getSourceCode()

function getPropertyText (node) {
const lines = sourceCode.getText(node).split(eslint.astUtils.LINEBREAK_MATCHER)
const lines = sourceCode.getText(node).split(lineBreakPattern)

return lines[0]
}
Expand Down
47 changes: 22 additions & 25 deletions npm/eslint-plugin-dev/test/arrow-body-multiline-braces.spec.js
Original file line number Diff line number Diff line change
@@ -1,47 +1,44 @@
const path = require('path')
const CLIEngine = require('eslint').CLIEngine
const plugin = require('..')
const eslint = require('eslint')
const plugin = require('../lib')
const _ = require('lodash')
const { expect } = require('chai')

const pluginName = '__plugin__'
const ESLint = eslint.ESLint

function execute (file, options = {}) {
const opts = _.defaultsDeep(options, {
async function execute (file, options = {}) {
const defaultConfig = {
fix: true,
config: {
ignore: false,
useEslintrc: false,
baseConfig: {
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
},
rules: {
[`${pluginName}/arrow-body-multiline-braces`]: ['error', 'always'],
},
plugins: [pluginName],
},

})

const cli = new CLIEngine({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
},
rules: {
[`${pluginName}/arrow-body-multiline-braces`]: ['error', 'always'],
plugins: {
[pluginName]: plugin,
},
...opts,
ignore: false,
useEslintrc: false,
plugins: [pluginName],
})
}
const opts = _.defaultsDeep(options, defaultConfig)

const cli = new ESLint(opts)

cli.addPlugin(pluginName, plugin)
const results = cli.executeOnFiles([path.join(__dirname, file)]).results[0]
const results = await cli.lintFiles([path.join(__dirname, file)])

return results
return results[0]
}

describe('arrow-body-multiline-braces', () => {
it('lint multiline js', async () => {
const filename = './fixtures/multiline.js'
const result = execute(filename, {
const result = await execute(filename, {
fix: true,
})

Expand All @@ -50,7 +47,7 @@ describe('arrow-body-multiline-braces', () => {

it('lint oneline js', async () => {
const filename = './fixtures/oneline.js'
const result = execute(filename, { fix: false })
const result = await execute(filename, { fix: false })

expect(result.output).not.ok
expect(result.errorCount).eq(0)
Expand Down
42 changes: 20 additions & 22 deletions npm/eslint-plugin-dev/test/no-only.spec.js
Original file line number Diff line number Diff line change
@@ -1,47 +1,45 @@
const path = require('path')
const CLIEngine = require('eslint').CLIEngine
const eslint = require('eslint')
const plugin = require('..')
const _ = require('lodash')
const { expect } = require('chai')

const ruleName = 'no-only'
const pluginName = '__plugin__'
const ESLint = eslint.ESLint

function execute (file, options = {}) {
const opts = _.defaultsDeep(options, {
async function execute (file, options = {}) {
const defaultConfig = {
fix: true,
config: {
ignore: false,
useEslintrc: false,
baseConfig: {
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
},
rules: {
[`${pluginName}/${ruleName}`]: ['error'],
},
plugins: [pluginName],
},
})

const cli = new CLIEngine({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
},
rules: {
[`${pluginName}/${ruleName}`]: ['error'],
plugins: {
[pluginName]: plugin,
},
...opts,
ignore: false,
useEslintrc: false,
plugins: [pluginName],
})
}
const opts = _.defaultsDeep(options, defaultConfig)

const cli = new ESLint(opts)

cli.addPlugin(pluginName, plugin)
const results = cli.executeOnFiles([path.join(__dirname, file)]).results[0]
const results = await cli.lintFiles([path.join(__dirname, file)])

return results
return results[0]
}

describe('no-only', () => {
it('lint js with only', async () => {
const filename = './fixtures/with-only.js'
const result = execute(filename, {
const result = await execute(filename, {
fix: true,
})

Expand Down
61 changes: 30 additions & 31 deletions npm/eslint-plugin-dev/test/no-return-before.spec.js
Original file line number Diff line number Diff line change
@@ -1,56 +1,53 @@
const path = require('path')
const CLIEngine = require('eslint').CLIEngine
const eslint = require('eslint')
const plugin = require('..')
const _ = require('lodash')
const { stripIndent } = require('common-tags')
const { expect } = require('chai')

const ruleName = 'no-return-before'
const pluginName = '__plugin__'
const ESLint = eslint.ESLint

function execute (file, options = {}) {
const opts = _.defaultsDeep(options, {
async function execute (file, options = {}) {
const defaultConfig = {
fix: true,
config: {
ignore: false,
useEslintrc: false,
baseConfig: {
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
},
rules: {
[`${pluginName}/${ruleName}`]: ['error'],
},
plugins: [pluginName],
},
})

const cli = new CLIEngine({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
},
rules: {
[`${pluginName}/${ruleName}`]: ['error'],
plugins: {
[pluginName]: plugin,
},
...opts,
ignore: false,
useEslintrc: false,
plugins: [pluginName],
}
const opts = _.defaultsDeep(options, defaultConfig)

})
const cli = new ESLint(opts)

cli.addPlugin(pluginName, plugin)
const results = cli.executeOnFiles([path.join(__dirname, file)]).results[0]
const results = await cli.lintFiles([path.join(__dirname, file)])

return results
return results[0]
}

describe(ruleName, () => {
it('pass', async () => {
const filename = './fixtures/no-return-before-pass.js'
const result = execute(filename)
const result = await execute(filename)

expect(result.errorCount).equal(0)
})

it('fail', async () => {
const filename = './fixtures/no-return-before-fail.js'
const result = execute(filename, {
const result = await execute(filename, {
fix: false,
})

Expand All @@ -60,7 +57,7 @@ describe(ruleName, () => {

it('fix fail', async () => {
const filename = './fixtures/no-return-before-fail.js'
const result = execute(filename)
const result = await execute(filename)

expect(result.output).equal(`${stripIndent`
describe('outer', ()=>{
Expand All @@ -79,14 +76,16 @@ describe(ruleName, () => {
describe('config', () => {
it('config [tokens]', async () => {
const filename = './fixtures/no-return-before-fail.js'
const result = execute(filename, {
const result = await execute(filename, {
fix: false,
rules: {
[`${pluginName}/${ruleName}`]: [
'error', {
tokens: ['someFn'],
},
],
baseConfig: {
rules: {
[`${pluginName}/${ruleName}`]: [
'error', {
tokens: ['someFn'],
},
],
},
},
})

Expand Down
60 changes: 30 additions & 30 deletions npm/eslint-plugin-dev/test/skip-comment.spec.js
Original file line number Diff line number Diff line change
@@ -1,47 +1,45 @@
const path = require('path')
const CLIEngine = require('eslint').CLIEngine
const eslint = require('eslint')
const plugin = require('..')
const _ = require('lodash')
const { expect } = require('chai')

const ruleName = 'skip-comment'
const pluginName = '__plugin__'
const ESLint = eslint.ESLint

function execute (file, options = {}) {
const opts = _.defaultsDeep(options, {
async function execute (file, options = {}) {
const defaultConfig = {
fix: true,
config: {
ignore: false,
useEslintrc: false,
baseConfig: {
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
},
rules: {
[`${pluginName}/${ruleName}`]: ['error'],
},
plugins: [pluginName],
},
})

const cli = new CLIEngine({
parserOptions: {
ecmaVersion: 2018,
sourceType: 'module',
},
rules: {
[`${pluginName}/${ruleName}`]: ['error'],
plugins: {
[pluginName]: plugin,
},
...opts,
ignore: false,
useEslintrc: false,
plugins: [pluginName],
})
}
const opts = _.defaultsDeep(options, defaultConfig)

const cli = new ESLint(opts)

cli.addPlugin(pluginName, plugin)
const results = cli.executeOnFiles([path.join(__dirname, file)]).results[0]
const results = await cli.lintFiles([path.join(__dirname, file)])

return results
return results[0]
}

describe('skip-comment', () => {
it('skip test with comment', async () => {
const filename = './fixtures/skip-comment-pass.js'
const result = execute(filename, {
const result = await execute(filename, {
fix: true,
})

Expand All @@ -50,7 +48,7 @@ describe('skip-comment', () => {

it('skip test without comment', async () => {
const filename = './fixtures/skip-comment-fail.js'
const result = execute(filename, {
const result = await execute(filename, {
fix: true,
})

Expand All @@ -70,14 +68,16 @@ describe('skip-comment', () => {
describe('config', () => {
it('skip test without comment', async () => {
const filename = './fixtures/skip-comment-config.js'
const result = execute(filename, {
const result = await execute(filename, {
fix: true,
rules: {
[`${pluginName}/${ruleName}`]: [
'error', {
commentTokens: ['FOOBAR:'],
},
],
baseConfig: {
rules: {
[`${pluginName}/${ruleName}`]: [
'error', {
commentTokens: ['FOOBAR:'],
},
],
},
},
})

Expand Down
1 change: 1 addition & 0 deletions packages/frontend-shared/.eslintignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
**/dist
**/*.d.ts
**/cypress/fixtures
**/generated
Loading

0 comments on commit d6b086a

Please sign in to comment.