From 76883fd77dc5bf42e2cee1c3af30243412f5fbb6 Mon Sep 17 00:00:00 2001 From: AdriAt360 Date: Thu, 2 Jun 2022 13:25:21 +0200 Subject: [PATCH] refactor: improve formatting of the tests --- tests/src/rules/no-restricted-paths.js | 768 ++++++++++++++++--------- 1 file changed, 486 insertions(+), 282 deletions(-) diff --git a/tests/src/rules/no-restricted-paths.js b/tests/src/rules/no-restricted-paths.js index 80515e0a39..22a197dbb5 100644 --- a/tests/src/rules/no-restricted-paths.js +++ b/tests/src/rules/no-restricted-paths.js @@ -10,84 +10,132 @@ ruleTester.run('no-restricted-paths', rule, { test({ code: 'import a from "../client/a.js"', filename: testFilePath('./restricted-paths/server/b.js'), - 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', + }, + ], + }, + ], }), test({ code: 'import a from "../client/a.js"', filename: testFilePath('./restricted-paths/server/b.js'), - options: [ { - zones: [ { target: '**/*', from: './tests/files/restricted-paths/other' } ], - } ], + options: [ + { + zones: [ + { + target: '**/*', + from: './tests/files/restricted-paths/other', + }, + ], + }, + ], }), test({ code: 'import a from "../client/a.js"', filename: testFilePath('./restricted-paths/client/b.js'), - options: [ { - zones: [ { - target: './tests/files/restricted-paths/!(client)/**/*', - from: './tests/files/restricted-paths/client/**/*', - } ], - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/!(client)/**/*', + from: './tests/files/restricted-paths/client/**/*', + }, + ], + }, + ], }), test({ code: 'const a = require("../client/a.js")', filename: testFilePath('./restricted-paths/server/b.js'), - 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', + }, + ], + }, + ], }), test({ code: 'import b from "../server/b.js"', filename: testFilePath('./restricted-paths/client/a.js'), - 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', + }, + ], + }, + ], }), test({ code: 'import a from "./a.js"', filename: testFilePath('./restricted-paths/server/one/a.js'), - options: [ { - zones: [ { - target: './tests/files/restricted-paths/server/one', - from: './tests/files/restricted-paths/server', - except: ['./one'], - } ], - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/server/one', + from: './tests/files/restricted-paths/server', + except: ['./one'], + }, + ], + }, + ], }), test({ code: 'import a from "../two/a.js"', filename: testFilePath('./restricted-paths/server/one/a.js'), - options: [ { - zones: [ { - target: './tests/files/restricted-paths/server/one', - from: './tests/files/restricted-paths/server', - except: ['./two'], - } ], - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/server/one', + from: './tests/files/restricted-paths/server', + except: ['./two'], + }, + ], + }, + ], }), test({ code: 'import a from "../one/a.js"', filename: testFilePath('./restricted-paths/server/two-new/a.js'), - options: [ { - zones: [ { - target: './tests/files/restricted-paths/server/two', - from: './tests/files/restricted-paths/server', - except: [], - } ], - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/server/two', + from: './tests/files/restricted-paths/server', + except: [], + }, + ], + }, + ], }), test({ code: 'import A from "../two/a.js"', filename: testFilePath('./restricted-paths/server/one/a.js'), - options: [ { - zones: [ { - target: '**/*', - from: './tests/files/restricted-paths/server/**/*', - except: ['**/a.js'], - } ], - } ], + options: [ + { + zones: [ + { + target: '**/*', + from: './tests/files/restricted-paths/server/**/*', + except: ['**/a.js'], + }, + ], + }, + ], }), // support of arrays for from and target @@ -95,66 +143,90 @@ ruleTester.run('no-restricted-paths', rule, { test({ code: 'import a from "../client/a.js"', filename: testFilePath('./restricted-paths/server/b.js'), - 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', + }, + ], + }, + ], }), test({ code: 'import a from "../client/a.js"', filename: testFilePath('./restricted-paths/server/b.js'), - 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'], + }, + ], + }, + ], }), // array with multiple elements test({ code: 'import a from "../one/a.js"', filename: testFilePath('./restricted-paths/server/two-new/a.js'), - options: [ { - zones: [ { - target: ['./tests/files/restricted-paths/server/two', './tests/files/restricted-paths/server/three'], - from: './tests/files/restricted-paths/server', - } ], - } ], + options: [ + { + zones: [ + { + target: ['./tests/files/restricted-paths/server/two', './tests/files/restricted-paths/server/three'], + from: './tests/files/restricted-paths/server', + }, + ], + }, + ], }), test({ code: 'import a from "../one/a.js"', filename: testFilePath('./restricted-paths/server/two-new/a.js'), - options: [ { - zones: [ { - target: './tests/files/restricted-paths/server', - from: ['./tests/files/restricted-paths/server/two', './tests/files/restricted-paths/server/three'], - except: [], - } ], - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/server', + from: ['./tests/files/restricted-paths/server/two', './tests/files/restricted-paths/server/three'], + except: [], + }, + ], + }, + ], }), // array with multiple glob patterns in from test({ code: 'import a from "../client/a.js"', filename: testFilePath('./restricted-paths/client/b.js'), - options: [ { - zones: [ { - target: './tests/files/restricted-paths/!(client)/**/*', - from: ['./tests/files/restricted-paths/client/*', './tests/files/restricted-paths/client/one/*'], - } ], - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/!(client)/**/*', + from: ['./tests/files/restricted-paths/client/*', './tests/files/restricted-paths/client/one/*'], + }, + ], + }, + ], }), // array with mix of glob and non glob patterns in target test({ code: 'import a from "../client/a.js"', filename: testFilePath('./restricted-paths/client/b.js'), - options: [ { - zones: [ { - target: ['./tests/files/restricted-paths/!(client)/**/*', './tests/files/restricted-paths/client/a/'], - from: './tests/files/restricted-paths/client/**/*', - } ], - } ], + options: [ + { + zones: [ + { + target: ['./tests/files/restricted-paths/!(client)/**/*', './tests/files/restricted-paths/client/a/'], + from: './tests/files/restricted-paths/client/**/*', + }, + ], + }, + ], }), // irrelevant function calls @@ -162,9 +234,17 @@ ruleTester.run('no-restricted-paths', rule, { test({ code: 'notrequire("../server/b.js")', filename: testFilePath('./restricted-paths/client/a.js'), - options: [ { - zones: [ { target: './tests/files/restricted-paths/client', from: './tests/files/restricted-paths/server' } ], - } ] }), + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/client', + from: './tests/files/restricted-paths/server', + }, + ], + }, + ], + }), // no config test({ code: 'require("../server/b.js")' }), @@ -178,36 +258,62 @@ ruleTester.run('no-restricted-paths', rule, { test({ code: 'import b from "../server/b.js"', filename: testFilePath('./restricted-paths/client/a.js'), - options: [ { - zones: [ { target: './tests/files/restricted-paths/client', from: './tests/files/restricted-paths/server' } ], - } ], - errors: [ { - message: 'Unexpected path "../server/b.js" imported in restricted zone.', - line: 1, - column: 15, - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/client', + from: './tests/files/restricted-paths/server', + }, + ], + }, + ], + errors: [ + { + message: 'Unexpected path "../server/b.js" imported in restricted zone.', + line: 1, + column: 15, + }, + ], }), test({ code: 'import b from "../server/b.js"', filename: testFilePath('./restricted-paths/client/a.js'), - options: [ { - zones: [ { target: './tests/files/restricted-paths/client/**/*', from: './tests/files/restricted-paths/server' } ], - } ], - errors: [ { - message: 'Unexpected path "../server/b.js" imported in restricted zone.', - line: 1, - column: 15, - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/client/**/*', + from: './tests/files/restricted-paths/server', + }, + ], + }, + ], + errors: [ + { + message: 'Unexpected path "../server/b.js" imported in restricted zone.', + line: 1, + column: 15, + }, + ], }), test({ code: 'import a from "../client/a"\nimport c from "./c"', filename: testFilePath('./restricted-paths/server/b.js'), - 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.js' }, - ], - } ], + 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.js', + }, + ], + }, + ], errors: [ { message: 'Unexpected path "../client/a" imported in restricted zone.', @@ -224,108 +330,156 @@ ruleTester.run('no-restricted-paths', rule, { test({ code: 'import b from "../server/b.js"', filename: testFilePath('./restricted-paths/client/a.js'), - options: [ { - zones: [ { target: './client', from: './server' } ], - basePath: testFilePath('./restricted-paths'), - } ], - errors: [ { - message: 'Unexpected path "../server/b.js" imported in restricted zone.', - line: 1, - column: 15, - } ], + options: [ + { + zones: [ + { + target: './client', + from: './server', + }, + ], + basePath: testFilePath('./restricted-paths'), + }, + ], + errors: [ + { + message: 'Unexpected path "../server/b.js" imported in restricted zone.', + line: 1, + column: 15, + }, + ], }), test({ code: 'const b = require("../server/b.js")', filename: testFilePath('./restricted-paths/client/a.js'), - options: [ { - zones: [ { target: './tests/files/restricted-paths/client', from: './tests/files/restricted-paths/server' } ], - } ], - errors: [ { - message: 'Unexpected path "../server/b.js" imported in restricted zone.', - line: 1, - column: 19, - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/client', + from: './tests/files/restricted-paths/server', + }, + ], + }, + ], + errors: [ + { + message: 'Unexpected path "../server/b.js" imported in restricted zone.', + line: 1, + column: 19, + }, + ], }), test({ code: 'import b from "../two/a.js"', filename: testFilePath('./restricted-paths/server/one/a.js'), - options: [ { - zones: [ { - target: './tests/files/restricted-paths/server/one', - from: './tests/files/restricted-paths/server', - except: ['./one'], - } ], - } ], - errors: [ { - message: 'Unexpected path "../two/a.js" imported in restricted zone.', - line: 1, - column: 15, - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/server/one', + from: './tests/files/restricted-paths/server', + except: ['./one'], + }, + ], + }, + ], + errors: [ + { + message: 'Unexpected path "../two/a.js" imported in restricted zone.', + line: 1, + column: 15, + }, + ], }), test({ code: 'import b from "../two/a.js"', filename: testFilePath('./restricted-paths/server/one/a.js'), - options: [ { - zones: [ { - target: './tests/files/restricted-paths/server/one', - from: './tests/files/restricted-paths/server', - except: ['./one'], - message: 'Custom message', - } ], - } ], - errors: [ { - message: 'Unexpected path "../two/a.js" imported in restricted zone. Custom message', - line: 1, - column: 15, - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/server/one', + from: './tests/files/restricted-paths/server', + except: ['./one'], + message: 'Custom message', + }, + ], + }, + ], + errors: [ + { + message: 'Unexpected path "../two/a.js" imported in restricted zone. Custom message', + line: 1, + column: 15, + }, + ], }), test({ code: 'import b from "../two/a.js"', filename: testFilePath('./restricted-paths/server/one/a.js'), - options: [ { - zones: [ { - target: './tests/files/restricted-paths/server/one', - from: './tests/files/restricted-paths/server', - except: ['../client/a'], - } ], - } ], - errors: [ { - message: 'Restricted path exceptions must be descendants of the configured ' + + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/server/one', + from: './tests/files/restricted-paths/server', + except: ['../client/a'], + }, + ], + }, + ], + errors: [ + { + message: 'Restricted path exceptions must be descendants of the configured ' + '`from` path for that zone.', - line: 1, - column: 15, - } ], + line: 1, + column: 15, + }, + ], }), test({ code: 'import A from "../two/a.js"', filename: testFilePath('./restricted-paths/server/one/a.js'), - options: [ { - zones: [ { - target: '**/*', - from: './tests/files/restricted-paths/server/**/*', - } ], - } ], - errors: [ { - message: 'Unexpected path "../two/a.js" imported in restricted zone.', - line: 1, - column: 15, - } ], + options: [ + { + zones: [ + { + target: '**/*', + from: './tests/files/restricted-paths/server/**/*', + }, + ], + }, + ], + errors: [ + { + message: 'Unexpected path "../two/a.js" imported in restricted zone.', + line: 1, + column: 15, + }, + ], }), test({ code: 'import A from "../two/a.js"', filename: testFilePath('./restricted-paths/server/one/a.js'), - options: [ { - zones: [ { - target: '**/*', - from: './tests/files/restricted-paths/server/**/*', - except: ['a.js'], - } ], - } ], - errors: [ { - message: 'Restricted path exceptions must be glob patterns when `from` contains glob patterns', - line: 1, - column: 15, - } ], + options: [ + { + zones: [ + { + target: '**/*', + from: './tests/files/restricted-paths/server/**/*', + except: ['a.js'], + }, + ], + }, + ], + errors: [ + { + message: 'Restricted path exceptions must be glob patterns when `from` contains glob patterns', + line: 1, + column: 15, + }, + ], }), // support of arrays for from and target @@ -333,135 +487,185 @@ ruleTester.run('no-restricted-paths', rule, { test({ code: 'import b from "../server/b.js"', filename: testFilePath('./restricted-paths/client/a.js'), - options: [ { - zones: [ { - target: ['./tests/files/restricted-paths/client'], - from: './tests/files/restricted-paths/server', - } ], - } ], - errors: [ { - message: 'Unexpected path "../server/b.js" imported in restricted zone.', - line: 1, - column: 15, - } ], + options: [ + { + zones: [ + { + target: ['./tests/files/restricted-paths/client'], + from: './tests/files/restricted-paths/server', + }, + ], + }, + ], + errors: [ + { + message: 'Unexpected path "../server/b.js" imported in restricted zone.', + line: 1, + column: 15, + }, + ], }), test({ code: 'import b from "../server/b.js"', filename: testFilePath('./restricted-paths/client/a.js'), - options: [ { - zones: [ { - target: './tests/files/restricted-paths/client', - from: ['./tests/files/restricted-paths/server'], - } ], - } ], - errors: [ { - message: 'Unexpected path "../server/b.js" imported in restricted zone.', - line: 1, - column: 15, - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/client', + from: ['./tests/files/restricted-paths/server'], + }, + ], + }, + ], + errors: [ + { + message: 'Unexpected path "../server/b.js" imported in restricted zone.', + line: 1, + column: 15, + }, + ], }), // array with multiple elements test({ code: 'import b from "../server/b.js"', filename: testFilePath('./restricted-paths/client/a.js'), - options: [ { - zones: [ { - target: ['./tests/files/restricted-paths/client/one', './tests/files/restricted-paths/client'], - from: './tests/files/restricted-paths/server', - } ], - } ], - errors: [ { - message: 'Unexpected path "../server/b.js" imported in restricted zone.', - line: 1, - column: 15, - } ], + options: [ + { + zones: [ + { + target: ['./tests/files/restricted-paths/client/one', './tests/files/restricted-paths/client'], + from: './tests/files/restricted-paths/server', + }, + ], + }, + ], + errors: [ + { + message: 'Unexpected path "../server/b.js" imported in restricted zone.', + line: 1, + column: 15, + }, + ], }), test({ code: 'import b from "../server/one/b.js"\nimport a from "../server/two/a.js"', filename: testFilePath('./restricted-paths/client/a.js'), - options: [ { - zones: [ { - target: './tests/files/restricted-paths/client', - from: ['./tests/files/restricted-paths/server/one', './tests/files/restricted-paths/server/two'], - } ], - } ], - errors: [ { - message: 'Unexpected path "../server/one/b.js" imported in restricted zone.', - line: 1, - column: 15, - },{ - message: 'Unexpected path "../server/two/a.js" imported in restricted zone.', - line: 2, - column: 15, - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/client', + from: ['./tests/files/restricted-paths/server/one', './tests/files/restricted-paths/server/two'], + }, + ], + }, + ], + errors: [ + { + message: 'Unexpected path "../server/one/b.js" imported in restricted zone.', + line: 1, + column: 15, + }, + { + message: 'Unexpected path "../server/two/a.js" imported in restricted zone.', + line: 2, + column: 15, + }, + ], }), // array with multiple glob patterns in from test({ code: 'import b from "../server/one/b.js"\nimport a from "../server/two/a.js"', filename: testFilePath('./restricted-paths/client/a.js'), - options: [ { - zones: [ { - target: './tests/files/restricted-paths/client', - from: ['./tests/files/restricted-paths/server/one/*', './tests/files/restricted-paths/server/two/*'], - } ], - } ], - errors: [ { - message: 'Unexpected path "../server/one/b.js" imported in restricted zone.', - line: 1, - column: 15, - },{ - message: 'Unexpected path "../server/two/a.js" imported in restricted zone.', - line: 2, - column: 15, - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/client', + from: ['./tests/files/restricted-paths/server/one/*', './tests/files/restricted-paths/server/two/*'], + }, + ], + }, + ], + errors: [ + { + message: 'Unexpected path "../server/one/b.js" imported in restricted zone.', + line: 1, + column: 15, + }, + { + message: 'Unexpected path "../server/two/a.js" imported in restricted zone.', + line: 2, + column: 15, + }, + ], }), // array with mix of glob and non glob patterns in target test({ code: 'import b from "../server/b.js"', filename: testFilePath('./restricted-paths/client/a.js'), - options: [ { - zones: [ { - target: ['./tests/files/restricted-paths/client/one', './tests/files/restricted-paths/client/*'], - from: './tests/files/restricted-paths/server', - } ], - } ], - errors: [ { - message: 'Unexpected path "../server/b.js" imported in restricted zone.', - line: 1, - column: 15, - } ], + options: [ + { + zones: [ + { + target: ['./tests/files/restricted-paths/client/one', './tests/files/restricted-paths/client/*'], + from: './tests/files/restricted-paths/server', + }, + ], + }, + ], + errors: [ + { + message: 'Unexpected path "../server/b.js" imported in restricted zone.', + line: 1, + column: 15, + }, + ], }), // configuration format test({ code: 'import A from "../two/a.js"', filename: testFilePath('./restricted-paths/server/one/a.js'), - options: [ { - zones: [ { - target: '**/*', - from: ['./tests/files/restricted-paths/server/**/*'], - except: ['a.js'], - } ], - } ], - errors: [ { - message: 'Restricted path exceptions must be glob patterns when `from` contains glob patterns', - line: 1, - column: 15, - } ], + options: [ + { + zones: [ + { + target: '**/*', + from: ['./tests/files/restricted-paths/server/**/*'], + except: ['a.js'], + }, + ], + }, + ], + errors: [ + { + message: 'Restricted path exceptions must be glob patterns when `from` contains glob patterns', + line: 1, + column: 15, + }, + ], }), test({ code: 'import b from "../server/one/b.js"', filename: testFilePath('./restricted-paths/client/a.js'), - options: [ { - zones: [ { - target: './tests/files/restricted-paths/client', - from: ['./tests/files/restricted-paths/server/one', './tests/files/restricted-paths/server/two/*'], - } ], - } ], - errors: [ { - message: 'Restricted path `from` must contain either only glob patterns or none', - line: 1, - column: 15, - } ], + options: [ + { + zones: [ + { + target: './tests/files/restricted-paths/client', + from: ['./tests/files/restricted-paths/server/one', './tests/files/restricted-paths/server/two/*'], + }, + ], + }, + ], + errors: [ + { + message: 'Restricted path `from` must contain either only glob patterns or none', + line: 1, + column: 15, + }, + ], }), ], });