Skip to content

Commit 05d35ad

Browse files
committed
[Tests] no-unescaped-entities: resolve acorn-jsx from eslint
Needed to be robust to npm 6 vs 7 hoisting behavior
1 parent 18d7d49 commit 05d35ad

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

tests/lib/rules/no-unescaped-entities.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@
1010
// ------------------------------------------------------------------------------
1111

1212
const semver = require('semver');
13+
const path = require('path');
14+
const resolve = require('resolve');
1315

1416
let allowsInvalidJSX = false;
1517
try {
16-
// eslint-disable-next-line import/no-extraneous-dependencies, global-require
17-
allowsInvalidJSX = semver.satisfies(require('acorn-jsx/package.json').version, '< 5.2');
18+
// eslint-disable-next-line import/no-extraneous-dependencies, global-require, import/no-dynamic-require
19+
allowsInvalidJSX = semver.satisfies(require(resolve.sync('acorn-jsx/package.json', {basedir: path.dirname(require.resolve('eslint'))})).version, '< 5.2');
1820
} catch (e) { /**/ }
1921

2022
const RuleTester = require('eslint').RuleTester;
@@ -119,7 +121,7 @@ ruleTester.run('no-unescaped-entities', rule, {
119121
code: `
120122
var Hello = createReactClass({
121123
render: function() {
122-
return <div>></div>;
124+
return <div>> default parser</div>;
123125
}
124126
});
125127
`,
@@ -128,7 +130,7 @@ ruleTester.run('no-unescaped-entities', rule, {
128130
code: `
129131
var Hello = createReactClass({
130132
render: function() {
131-
return <>></>;
133+
return <>> babel-eslint</>;
132134
}
133135
});
134136
`,
@@ -170,7 +172,7 @@ ruleTester.run('no-unescaped-entities', rule, {
170172
code: `
171173
var Hello = createReactClass({
172174
render: function() {
173-
return <div>Multiple errors: '>></div>;
175+
return <div>Multiple errors: '>> default parser</div>;
174176
}
175177
});
176178
`,
@@ -183,7 +185,7 @@ ruleTester.run('no-unescaped-entities', rule, {
183185
code: `
184186
var Hello = createReactClass({
185187
render: function() {
186-
return <div>{"Unbalanced braces"}}</div>;
188+
return <div>{"Unbalanced braces - default parser"}}</div>;
187189
}
188190
});
189191
`,
@@ -192,7 +194,7 @@ ruleTester.run('no-unescaped-entities', rule, {
192194
code: `
193195
var Hello = createReactClass({
194196
render: function() {
195-
return <>{"Unbalanced braces"}}</>;
197+
return <>{"Unbalanced braces - babel-eslint"}}</>;
196198
}
197199
});
198200
`,

0 commit comments

Comments
 (0)