Skip to content

Commit bdea5d5

Browse files
authored
Merge pull request #95 from ext/bugfix/94-empty-script-fn
fix(rules): handle functions passed to executeScript
2 parents 08d0c4a + 78f2cd9 commit bdea5d5

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

lib/rules/empty-script.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
* @author Alexander Afanasyev
66
*/
77

8+
function isLiteral (node) {
9+
return node.type === 'Literal'
10+
}
11+
812
module.exports = {
913
meta: {
1014
schema: []
@@ -29,7 +33,12 @@ module.exports = {
2933
return
3034
}
3135

32-
var firstArgumentNonEmpty = argumentExists && node.arguments[0].value
36+
var firstArgument = node.arguments[0]
37+
if (!isLiteral(firstArgument)) {
38+
return
39+
}
40+
41+
var firstArgumentNonEmpty = firstArgument.value
3342
if (!firstArgumentNonEmpty) {
3443
context.report({
3544
node: property,

test/rules/empty-script.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ eslintTester.run('empty-script', rule, {
1010
'browser.executeScript("var a = 1;");',
1111
'browser.executeAsyncScript("var a = 1;");',
1212
'var tag = browser.executeScript("return arguments[0].tagName", el);',
13-
'browser.executeAsyncScript("var callback = arguments[arguments.length - 1];");'
13+
'browser.executeAsyncScript("var callback = arguments[arguments.length - 1];");',
14+
'var script = "var a = 1"; browser.executeScript(clientScript);',
15+
'function clientScript(){ return 1; }; browser.executeScript(clientScript);'
1416
],
1517

1618
invalid: [

0 commit comments

Comments
 (0)