File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1313const
1414 assert = require ( "assert" ) ,
1515 util = require ( "util" ) ,
16+ path = require ( "path" ) ,
1617 equal = require ( "fast-deep-equal" ) ,
1718 Traverser = require ( "../shared/traverser" ) ,
1819 { getRuleOptionsSchema } = require ( "../config/flat-config-helpers" ) ,
@@ -592,7 +593,15 @@ class FlatRuleTester {
592593 * @private
593594 */
594595 function runRuleForItem ( item ) {
595- const configs = new FlatConfigArray ( testerConfig , { baseConfig } ) ;
596+ const flatConfigArrayOptions = {
597+ baseConfig
598+ } ;
599+
600+ if ( item . filename ) {
601+ flatConfigArrayOptions . basePath = path . parse ( item . filename ) . root ;
602+ }
603+
604+ const configs = new FlatConfigArray ( testerConfig , flatConfigArrayOptions ) ;
596605
597606 /*
598607 * Modify the returned config so that the parser is wrapped to catch
Original file line number Diff line number Diff line change @@ -1808,6 +1808,22 @@ describe("FlatRuleTester", () => {
18081808 } , / F i x a b l e r u l e s m u s t s e t t h e ` m e t a \. f i x a b l e ` p r o p e r t y / u) ;
18091809 } ) ;
18101810
1811+ // https://github.com/eslint/eslint/issues/17962
1812+ it ( "should not throw an error in case of absolute paths" , ( ) => {
1813+ ruleTester . run ( "no-eval" , require ( "../../fixtures/testers/rule-tester/no-eval" ) , {
1814+ valid : [
1815+ "Eval(foo)"
1816+ ] ,
1817+ invalid : [
1818+ {
1819+ code : "eval(foo)" ,
1820+ filename : "/an-absolute-path/foo.js" ,
1821+ errors : [ { message : "eval sucks." , type : "CallExpression" } ]
1822+ }
1823+ ]
1824+ } ) ;
1825+ } ) ;
1826+
18111827 describe ( "suggestions" , ( ) => {
18121828 it ( "should pass with valid suggestions (tested using desc)" , ( ) => {
18131829 ruleTester . run ( "suggestions-basic" , require ( "../../fixtures/testers/rule-tester/suggestions" ) . basic , {
You can’t perform that action at this time.
0 commit comments