Path: blob/main/tests/src/rules/no-unassigned-import.js
829 views
import { test } from '../utils';1import * as path from 'path';23import { RuleTester } from 'eslint';45const ruleTester = new RuleTester();6const rule = require('rules/no-unassigned-import');78const error = {9message: 'Imported module should be assigned',10};1112ruleTester.run('no-unassigned-import', rule, {13valid: [14test({ code: 'import _ from "lodash"' }),15test({ code: 'import _, {foo} from "lodash"' }),16test({ code: 'import _, {foo as bar} from "lodash"' }),17test({ code: 'import {foo as bar} from "lodash"' }),18test({ code: 'import * as _ from "lodash"' }),19test({ code: 'import _ from "./"' }),20test({ code: 'const _ = require("lodash")' }),21test({ code: 'const {foo} = require("lodash")' }),22test({ code: 'const {foo: bar} = require("lodash")' }),23test({ code: 'const [a, b] = require("lodash")' }),24test({ code: 'const _ = require("./")' }),25test({ code: 'foo(require("lodash"))' }),26test({ code: 'require("lodash").foo' }),27test({ code: 'require("lodash").foo()' }),28test({ code: 'require("lodash")()' }),29test({30code: 'import "app.css"',31options: [{ 'allow': ['**/*.css'] }],32}),33test({34code: 'import "app.css";',35options: [{ 'allow': ['*.css'] }],36}),37test({38code: 'import "./app.css"',39options: [{ 'allow': ['**/*.css'] }],40}),41test({42code: 'import "foo/bar"',43options: [{ 'allow': ['foo/**'] }],44}),45test({46code: 'import "foo/bar"',47options: [{ 'allow': ['foo/bar'] }],48}),49test({50code: 'import "../dir/app.css"',51options: [{ 'allow': ['**/*.css'] }],52}),53test({54code: 'import "../dir/app.js"',55options: [{ 'allow': ['**/dir/**'] }],56}),57test({58code: 'require("./app.css")',59options: [{ 'allow': ['**/*.css'] }],60}),61test({62code: 'import "babel-register"',63options: [{ 'allow': ['babel-register'] }],64}),65test({66code: 'import "./styles/app.css"',67options: [{ 'allow': ['src/styles/**'] }],68filename: path.join(process.cwd(), 'src/app.js'),69}),70test({71code: 'import "../scripts/register.js"',72options: [{ 'allow': ['src/styles/**', '**/scripts/*.js'] }],73filename: path.join(process.cwd(), 'src/app.js'),74}),75],76invalid: [77test({78code: 'import "lodash"',79errors: [error],80}),81test({82code: 'require("lodash")',83errors: [error],84}),85test({86code: 'import "./app.css"',87options: [{ 'allow': ['**/*.js'] }],88errors: [error],89}),90test({91code: 'import "./app.css"',92options: [{ 'allow': ['**/dir/**'] }],93errors: [error],94}),95test({96code: 'require("./app.css")',97options: [{ 'allow': ['**/*.js'] }],98errors: [error],99}),100test({101code: 'import "./styles/app.css"',102options: [{ 'allow': ['styles/*.css'] }],103filename: path.join(process.cwd(), 'src/app.js'),104errors: [error],105}),106],107});108109110