diff --git a/lib/extract-class-names.js b/lib/extract-class-names.js index 71e88b6..517be09 100644 --- a/lib/extract-class-names.js +++ b/lib/extract-class-names.js @@ -42,11 +42,14 @@ module.exports = function (cssSelector) { return [] } + // handling empty inputs + if (!result) { + return [] + } + var classNames = [] - if (result.type === 'rule') { - classNames = extractClassNames(result.rule) - } else if (result.type === 'ruleSet') { + if (result.type === 'ruleSet') { var rule = result.rule while (rule) { classNames.push.apply(classNames, extractClassNames(rule)) diff --git a/test/rules/no-bootstrap-classes.js b/test/rules/no-bootstrap-classes.js index f519ba8..3f154e8 100644 --- a/test/rules/no-bootstrap-classes.js +++ b/test/rules/no-bootstrap-classes.js @@ -26,7 +26,9 @@ eslintTester.run('no-bootstrap-classes', rule, { '$("p::first-line");', '$("invalid::selector()");', '$("a[href^=/], .container:has(nav) > a[href]:lt($var)");', - '$$("//somethinginvalid[@attr=\'test\']")' + '$$("//somethinginvalid[@attr=\'test\']")', + 'element(by.css("a[href]"));', + '$("");' ], invalid: [