Skip to content

Commit

Permalink
[Tests] fix no-restricted-paths: import type test case
Browse files Browse the repository at this point in the history
  • Loading branch information
azyzz228 committed Oct 18, 2022
1 parent 53d62d0 commit 4abb20f
Show file tree
Hide file tree
Showing 3 changed files with 84 additions and 80 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Expand Up @@ -41,6 +41,7 @@ This change log adheres to standards from [Keep a CHANGELOG](https://keepachange
- [Docs] [`no-useless-path-segments`]: fix paths ([#2424], thanks [@s-h-a-d-o-w])
- [Tests] [`no-cycle`]: add passing test cases ([#2438], thanks [@georeith])
- [Tests] [`no-restricted-paths`]: Tests for `import type` statements, thanks [@golergka]
- [Tests] [`no-restricted-paths`]: fix one failing `import type` test case, submitted by [@golergka], thanks [@azyzz228]
- [Refactor] [`no-extraneous-dependencies`] improve performance using cache ([#2374], thanks [@meowtec])
- [meta] `CONTRIBUTING.md`: mention inactive PRs ([#2546], thanks [@stropho])
- [readme] make json for setting groups multiline ([#2570], thanks [@bertyhell])
Expand Down Expand Up @@ -1556,6 +1557,7 @@ for info on changes for earlier releases.
[@atav32]: https://github.com/atav32
[@atikenny]: https://github.com/atikenny
[@atos1990]: https://github.com/atos1990
[@azyzz228]: https://github.com/azyzz228
[@barbogast]: https://github.com/barbogast
[@be5invis]: https://github.com/be5invis
[@beatrizrezener]: https://github.com/beatrizrezener
Expand Down
Empty file.
162 changes: 82 additions & 80 deletions tests/src/rules/no-restricted-paths.js
Expand Up @@ -474,7 +474,7 @@ ruleTester.run('no-restricted-paths', rule, {
errors: [
{
message: 'Restricted path exceptions must be descendants of the configured ' +
'`from` path for that zone.',
'`from` path for that zone.',
line: 1,
column: 15,
},
Expand Down Expand Up @@ -723,91 +723,91 @@ context('Typescript', function () {
test({
code: 'import type a from "../client/a.ts"',
filename: testFilePath('./restricted-paths/server/b.ts'),
options: [ {
zones: [ { target: './tests/files/restricted-paths/server', from: './tests/files/restricted-paths/other' } ],
} ],
options: [{
zones: [{ target: './tests/files/restricted-paths/server', from: './tests/files/restricted-paths/other' }],
}],
parser,
settings,
}),
test({
code: 'import type a from "../client/a.ts"',
filename: testFilePath('./restricted-paths/server/b.ts'),
options: [ {
zones: [ { target: '**/*', from: './tests/files/restricted-paths/other' } ],
} ],
options: [{
zones: [{ target: '**/*', from: './tests/files/restricted-paths/other' }],
}],
parser,
settings,
}),
test({
code: 'import type a from "../client/a.ts"',
filename: testFilePath('./restricted-paths/client/b.ts'),
options: [ {
zones: [ {
options: [{
zones: [{
target: './tests/files/restricted-paths/!(client)/**/*',
from: './tests/files/restricted-paths/client/**/*',
} ],
} ],
}],
}],
parser,
settings,
}),
test({
code: 'import type b from "../server/b.ts"',
filename: testFilePath('./restricted-paths/client/a.ts'),
options: [ {
zones: [ { target: './tests/files/restricted-paths/client', from: './tests/files/restricted-paths/other' } ],
} ],
options: [{
zones: [{ target: './tests/files/restricted-paths/client', from: './tests/files/restricted-paths/other' }],
}],
parser,
settings,
}),
test({
code: 'import type a from "./a.ts"',
filename: testFilePath('./restricted-paths/server/one/a.ts'),
options: [ {
zones: [ {
options: [{
zones: [{
target: './tests/files/restricted-paths/server/one',
from: './tests/files/restricted-paths/server',
except: ['./one'],
} ],
} ],
}],
}],
parser,
settings,
}),
test({
code: 'import type a from "../two/a.ts"',
filename: testFilePath('./restricted-paths/server/one/a.ts'),
options: [ {
zones: [ {
options: [{
zones: [{
target: './tests/files/restricted-paths/server/one',
from: './tests/files/restricted-paths/server',
except: ['./two'],
} ],
} ],
}],
}],
parser,
settings,
}),
test({
code: 'import type a from "../one/a.ts"',
filename: testFilePath('./restricted-paths/server/two-new/a.ts'),
options: [ {
zones: [ {
options: [{
zones: [{
target: './tests/files/restricted-paths/server/two',
from: './tests/files/restricted-paths/server',
except: [],
} ],
} ],
}],
}],
parser,
settings,
}),
test({
code: 'import type A from "../two/a.ts"',
filename: testFilePath('./restricted-paths/server/one/a.ts'),
options: [ {
zones: [ {
options: [{
zones: [{
target: '**/*',
from: './tests/files/restricted-paths/server/**/*',
except: ['**/a.js'],
} ],
} ],
}],
}],
parser,
settings,
}),
Expand All @@ -819,48 +819,50 @@ context('Typescript', function () {
test({
code: 'import type b from "../server/b"',
filename: testFilePath('./restricted-paths/client/a.ts'),
options: [ {
zones: [ { target: './tests/files/restricted-paths/client', from: './tests/files/restricted-paths/server' } ],
} ],
errors: [ {
options: [{
zones: [{ target: './tests/files/restricted-paths/client', from: './tests/files/restricted-paths/server' }],
}],
errors: [{
message: 'Unexpected path "../server/b" imported in restricted zone.',
line: 1,
column: 20,
} ],
}],
parser,
settings,
}),
test({
code: 'import type b from "../server/b"',
filename: testFilePath('./restricted-paths/client/a.ts'),
options: [ {
zones: [ { target: './tests/files/restricted-paths/client/**/*', from: './tests/files/restricted-paths/server' } ],
} ],
errors: [ {
options: [{
zones: [{ target: './tests/files/restricted-paths/client/**/*', from: './tests/files/restricted-paths/server' }],
}],
errors: [{
message: 'Unexpected path "../server/b" imported in restricted zone.',
line: 1,
column: 20,
} ],
}],
parser,
settings,
}),
test({
code: 'import type a from "../client/a"\nimport type c from "./c.ts"',
filename: testFilePath('./restricted-paths/server/b.ts'),
options: [ {
options: [{
zones: [
{ target: './tests/files/restricted-paths/server', from: './tests/files/restricted-paths/client' },
{ target: './tests/files/restricted-paths/server', from: './tests/files/restricted-paths/server/c.ts' },
{
target: './tests/files/restricted-paths/server',
from: ['./tests/files/restricted-paths/client', './tests/files/restricted-paths/server/c.ts']
}
],
} ],
}],
errors: [
{
message: 'Unexpected path "../client/a" imported in restricted zone.',
line: 1,
column: 20,
},
{
message: 'Unexpected path "./c" imported in restricted zone.',
message: 'Unexpected path "./c.ts" imported in restricted zone.',
line: 2,
column: 20,
},
Expand All @@ -871,106 +873,106 @@ context('Typescript', function () {
test({
code: 'import type b from "../server/b"',
filename: testFilePath('./restricted-paths/client/a'),
options: [ {
zones: [ { target: './client', from: './server' } ],
options: [{
zones: [{ target: './client', from: './server' }],
basePath: testFilePath('./restricted-paths'),
} ],
errors: [ {
}],
errors: [{
message: 'Unexpected path "../server/b" imported in restricted zone.',
line: 1,
column: 20,
} ],
}],
parser,
settings,
}),
test({
code: 'import type b from "../two/a"',
filename: testFilePath('./restricted-paths/server/one/a.ts'),
options: [ {
zones: [ {
options: [{
zones: [{
target: './tests/files/restricted-paths/server/one',
from: './tests/files/restricted-paths/server',
except: ['./one'],
} ],
} ],
errors: [ {
}],
}],
errors: [{
message: 'Unexpected path "../two/a" imported in restricted zone.',
line: 1,
column: 20,
} ],
}],
parser,
settings,
}),
test({
code: 'import type b from "../two/a"',
filename: testFilePath('./restricted-paths/server/one/a'),
options: [ {
zones: [ {
options: [{
zones: [{
target: './tests/files/restricted-paths/server/one',
from: './tests/files/restricted-paths/server',
except: ['./one'],
message: 'Custom message',
} ],
} ],
errors: [ {
}],
}],
errors: [{
message: 'Unexpected path "../two/a" imported in restricted zone. Custom message',
line: 1,
column: 20,
} ],
}],
parser,
settings,
}),
test({
code: 'import type b from "../two/a"',
filename: testFilePath('./restricted-paths/server/one/a.ts'),
options: [ {
zones: [ {
options: [{
zones: [{
target: './tests/files/restricted-paths/server/one',
from: './tests/files/restricted-paths/server',
except: ['../client/a'],
} ],
} ],
errors: [ {
}],
}],
errors: [{
message: 'Restricted path exceptions must be descendants of the configured ' +
'`from` path for that zone.',
line: 1,
column: 20,
} ],
}],
parser,
settings,
}),
test({
code: 'import type A from "../two/a"',
filename: testFilePath('./restricted-paths/server/one/a.ts'),
options: [ {
zones: [ {
options: [{
zones: [{
target: '**/*',
from: './tests/files/restricted-paths/server/**/*',
} ],
} ],
errors: [ {
}],
}],
errors: [{
message: 'Unexpected path "../two/a" imported in restricted zone.',
line: 1,
column: 20,
} ],
}],
parser,
settings,
}),
test({
code: 'import type A from "../two/a"',
filename: testFilePath('./restricted-paths/server/one/a.ts'),
options: [ {
zones: [ {
options: [{
zones: [{
target: '**/*',
from: './tests/files/restricted-paths/server/**/*',
except: ['a.ts'],
} ],
} ],
errors: [ {
}],
}],
errors: [{
message: 'Restricted path exceptions must be glob patterns when `from` contains glob patterns',
line: 1,
column: 20,
} ],
}],
parser,
settings,
}),
Expand Down

0 comments on commit 4abb20f

Please sign in to comment.