Path: blob/main/tests/src/rules/no-absolute-path.js
829 views
import { test } from '../utils';12import { RuleTester } from 'eslint';34const ruleTester = new RuleTester();5const rule = require('rules/no-absolute-path');67const error = {8message: 'Do not import modules using an absolute path',9};1011ruleTester.run('no-absolute-path', rule, {12valid: [13test({ code: 'import _ from "lodash"' }),14test({ code: 'import find from "lodash.find"' }),15test({ code: 'import foo from "./foo"' }),16test({ code: 'import foo from "../foo"' }),17test({ code: 'import foo from "foo"' }),18test({ code: 'import foo from "./"' }),19test({ code: 'import foo from "@scope/foo"' }),20test({ code: 'var _ = require("lodash")' }),21test({ code: 'var find = require("lodash.find")' }),22test({ code: 'var foo = require("./foo")' }),23test({ code: 'var foo = require("../foo")' }),24test({ code: 'var foo = require("foo")' }),25test({ code: 'var foo = require("./")' }),26test({ code: 'var foo = require("@scope/foo")' }),2728test({ code: 'import events from "events"' }),29test({ code: 'import path from "path"' }),30test({ code: 'var events = require("events")' }),31test({ code: 'var path = require("path")' }),32test({ code: 'import path from "path";import events from "events"' }),3334// still works if only `amd: true` is provided35test({36code: 'import path from "path"',37options: [{ amd: true }],38}),3940// amd not enabled by default41test({ code: 'require(["/some/path"], function (f) { /* ... */ })' }),42test({ code: 'define(["/some/path"], function (f) { /* ... */ })' }),43test({44code: 'require(["./some/path"], function (f) { /* ... */ })',45options: [{ amd: true }],46}),47test({48code: 'define(["./some/path"], function (f) { /* ... */ })',49options: [{ amd: true }],50}),51],52invalid: [53test({54code: 'import f from "/foo"',55errors: [error],56}),57test({58code: 'import f from "/foo/path"',59errors: [error],60}),61test({62code: 'import f from "/some/path"',63errors: [error],64}),65test({66code: 'import f from "/some/path"',67options: [{ amd: true }],68errors: [error],69}),70test({71code: 'var f = require("/foo")',72errors: [error],73}),74test({75code: 'var f = require("/foo/path")',76errors: [error],77}),78test({79code: 'var f = require("/some/path")',80errors: [error],81}),82test({83code: 'var f = require("/some/path")',84options: [{ amd: true }],85errors: [error],86}),87// validate amd88test({89code: 'require(["/some/path"], function (f) { /* ... */ })',90options: [{ amd: true }],91errors: [error],92}),93test({94code: 'define(["/some/path"], function (f) { /* ... */ })',95options: [{ amd: true }],96errors: [error],97}),98],99});100101102