eslint-plugin-jasmine
Advanced tools
Comparing version 1.5.1 to 1.5.2
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
'use strict' | ||
@@ -20,2 +20,2 @@ module.exports = { | ||
} | ||
}; | ||
} |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
'use strict' | ||
@@ -7,28 +7,27 @@ /** | ||
*/ | ||
module.exports = function(kind, branchBlocks, checkedBlocks){ | ||
function noDupes(context) { | ||
module.exports = function (kind, branchBlocks, checkedBlocks) { | ||
function noDupes (context) { | ||
var suites = [] | ||
var branch = [] | ||
var branchMode = context.options[0] === 'branch' | ||
var suites = []; | ||
var branch = []; | ||
var branchMode = context.options[0] === 'branch'; | ||
function isBranchNode(node) { | ||
return branchBlocks.indexOf(node.callee.name) >= 0 || !node.arguments; | ||
function isBranchNode (node) { | ||
return branchBlocks.indexOf(node.callee.name) >= 0 || !node.arguments | ||
} | ||
function isCheckedNode(node) { | ||
return checkedBlocks.indexOf(node.callee.name) >= 0 || !node.arguments; | ||
function isCheckedNode (node) { | ||
return checkedBlocks.indexOf(node.callee.name) >= 0 || !node.arguments | ||
} | ||
function extractLiteral(node) { | ||
function extractLiteral (node) { | ||
switch (node.type) { | ||
case 'Literal': | ||
return node.value; | ||
return node.value | ||
case 'BinaryExpression': | ||
if (node.operator === '+') { | ||
return extractLiteral(node.left) + extractLiteral(node.right); | ||
return extractLiteral(node.left) + extractLiteral(node.right) | ||
} | ||
return null; | ||
return null | ||
default: | ||
return null; | ||
return null | ||
} | ||
@@ -38,32 +37,30 @@ } | ||
return { | ||
'CallExpression': function(node) { | ||
'CallExpression': function (node) { | ||
if (!isBranchNode(node) && !isCheckedNode(node)) { | ||
return; | ||
return | ||
} | ||
var descriptionNode = node.arguments && node.arguments[0]; | ||
var descriptionNode = node.arguments && node.arguments[0] | ||
if (!descriptionNode) { | ||
return; | ||
return | ||
} | ||
var descriptionLiteral = extractLiteral(descriptionNode); | ||
var descriptionLiteral = extractLiteral(descriptionNode) | ||
if (!descriptionLiteral) { | ||
return; | ||
return | ||
} | ||
if (branchMode) { | ||
branch.push(descriptionLiteral); | ||
branch.push(descriptionLiteral) | ||
} | ||
if (isCheckedNode(node)) { | ||
var suite | ||
var suite; | ||
if (branchMode) { | ||
suite = branch.join(' '); | ||
suite = branch.join(' ') | ||
} else { | ||
suite = descriptionLiteral; | ||
suite = descriptionLiteral | ||
} | ||
@@ -74,14 +71,13 @@ | ||
suite: suite | ||
}); | ||
}) | ||
} | ||
suites.push(suite); | ||
suites.push(suite) | ||
} | ||
}, | ||
'CallExpression:exit': function(node) { | ||
'CallExpression:exit': function (node) { | ||
if (branchMode && (isBranchNode(node) || isCheckedNode(node))) { | ||
branch.pop(); | ||
branch.pop() | ||
} | ||
} | ||
}; | ||
} | ||
} | ||
@@ -96,5 +92,5 @@ | ||
} | ||
]; | ||
] | ||
return noDupes; | ||
}; | ||
return noDupes | ||
} |
@@ -1,9 +0,9 @@ | ||
'use strict'; | ||
'use strict' | ||
module.exports = function(prohibiteds, context) { | ||
var regex = new RegExp('^(' + prohibiteds.join('|') + ')$'); | ||
module.exports = function (prohibiteds, context) { | ||
var regex = new RegExp('^(' + prohibiteds.join('|') + ')$') | ||
return { | ||
'CallExpression': function(node) { | ||
var result = node.callee && node.callee.name.match(regex); | ||
'CallExpression': function (node) { | ||
var result = node.callee && node.callee.name && node.callee.name.match(regex) | ||
@@ -13,6 +13,6 @@ if (result) { | ||
name: result[1] | ||
}); | ||
}) | ||
} | ||
} | ||
}; | ||
}; | ||
} | ||
} |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
'use strict' | ||
@@ -8,17 +8,16 @@ /** | ||
module.exports = function(context) { | ||
module.exports = function (context) { | ||
var allowed = context.options.length ? context.options : ['expect()'] | ||
var allowed = context.options.length ? context.options : ['expect()']; | ||
var unchecked = [] | ||
var unchecked = []; | ||
function buildName(node) { | ||
function buildName (node) { | ||
if (node.type === 'CallExpression') { | ||
return buildName(node.callee) + '()'; | ||
return buildName(node.callee) + '()' | ||
} | ||
if (node.type === 'MemberExpression') { | ||
return buildName(node.object) + '.' + node.property.name; | ||
return buildName(node.object) + '.' + node.property.name | ||
} | ||
if (node.type === 'Identifier') { | ||
return node.name; | ||
return node.name | ||
} | ||
@@ -28,27 +27,27 @@ } | ||
return { | ||
CallExpression: function(node) { | ||
CallExpression: function (node) { | ||
if (node.callee.name === 'it') { | ||
if (node.arguments.length > 1) { | ||
unchecked.push(node); | ||
unchecked.push(node) | ||
} | ||
return; | ||
return | ||
} | ||
if (allowed.indexOf(buildName(node)) === -1) { | ||
return; | ||
return | ||
} | ||
context.getAncestors().some(function(ancestor) { | ||
var index = unchecked.indexOf(ancestor); | ||
context.getAncestors().some(function (ancestor) { | ||
var index = unchecked.indexOf(ancestor) | ||
if (index !== -1) { | ||
unchecked.splice(index, 1); | ||
return true; | ||
unchecked.splice(index, 1) | ||
return true | ||
} | ||
}); | ||
}) | ||
}, | ||
'Program:exit': function() { | ||
unchecked.forEach(function(node) { | ||
context.report(node, 'Test has no expectations'); | ||
}); | ||
'Program:exit': function () { | ||
unchecked.forEach(function (node) { | ||
context.report(node, 'Test has no expectations') | ||
}) | ||
} | ||
}; | ||
}; | ||
} | ||
} |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
'use strict' | ||
@@ -8,11 +8,11 @@ /** | ||
var prohibit = require('../prohibit'); | ||
var prohibit = require('../prohibit') | ||
module.exports = function(context) { | ||
module.exports = function (context) { | ||
var prohibiteds = [ | ||
'xdescribe', | ||
'xit' | ||
]; | ||
] | ||
return prohibit(prohibiteds, context); | ||
}; | ||
return prohibit(prohibiteds, context) | ||
} |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
'use strict' | ||
@@ -8,5 +8,5 @@ /** | ||
var prohibit = require('../prohibit'); | ||
var prohibit = require('../prohibit') | ||
module.exports = function(context) { | ||
module.exports = function (context) { | ||
var prohibiteds = [ | ||
@@ -17,5 +17,5 @@ 'fdescribe', | ||
'iit' | ||
]; | ||
] | ||
return prohibit(prohibiteds, context); | ||
}; | ||
return prohibit(prohibiteds, context) | ||
} |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
'use strict' | ||
@@ -10,8 +10,8 @@ /** | ||
'describe' | ||
]; | ||
] | ||
var checkedBlocks = [ | ||
'it' | ||
]; | ||
] | ||
module.exports = require('../no-dupes')('spec', branchBlocks, checkedBlocks); | ||
module.exports = require('../no-dupes')('spec', branchBlocks, checkedBlocks) |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
'use strict' | ||
@@ -8,16 +8,16 @@ /** | ||
var suiteRegexp = /^(f|d|x)?describe$/; | ||
var suiteRegexp = /^(f|d|x)?describe$/ | ||
module.exports = function(context) { | ||
module.exports = function (context) { | ||
return { | ||
CallExpression: function(node) { | ||
CallExpression: function (node) { | ||
if (suiteRegexp.test(node.callee.name) && node.arguments.length > 1) { | ||
var arg = node.arguments[1]; | ||
var arg = node.arguments[1] | ||
if (arg.type === 'FunctionExpression' && arg.params.length) { | ||
context.report(node, 'Unexpected argument in suite\'s callback') | ||
context.report(node, "Unexpected argument in suite's callback") | ||
} | ||
} | ||
} | ||
}; | ||
}; | ||
} | ||
} |
@@ -1,2 +0,2 @@ | ||
'use strict'; | ||
'use strict' | ||
@@ -10,8 +10,8 @@ /** | ||
'describe' | ||
]; | ||
] | ||
var checkedBlocks = [ | ||
'describe' | ||
]; | ||
] | ||
module.exports = require('../no-dupes')('suite', branchBlocks, checkedBlocks); | ||
module.exports = require('../no-dupes')('suite', branchBlocks, checkedBlocks) |
@@ -10,3 +10,3 @@ { | ||
"scripts": { | ||
"pretest": "eslint index.js lib test", | ||
"pretest": "standard", | ||
"test": "mocha", | ||
@@ -33,8 +33,8 @@ "watch": "mocha --watch", | ||
"devDependencies": { | ||
"eslint": "^1.1.0", | ||
"eslint-config-tlvince": "^1.2.0", | ||
"eslint": "^1.8.0", | ||
"mocha": "^2.2.5", | ||
"semantic-release": "^4.0.2" | ||
"semantic-release": "^4.0.2", | ||
"standard": "^5.3.1" | ||
}, | ||
"version": "1.5.1" | ||
"version": "1.5.2" | ||
} |
@@ -1,7 +0,7 @@ | ||
'use strict'; | ||
'use strict' | ||
var rule = require('../../lib/rules/missing-expect'); | ||
var RuleTester = require('eslint').RuleTester; | ||
var rule = require('../../lib/rules/missing-expect') | ||
var RuleTester = require('eslint').RuleTester | ||
var eslintTester = new RuleTester(); | ||
var eslintTester = new RuleTester() | ||
@@ -90,2 +90,2 @@ eslintTester.run('missing-expect', rule, { | ||
] | ||
}); | ||
}) |
@@ -1,7 +0,7 @@ | ||
'use strict'; | ||
'use strict' | ||
var rule = require('../../lib/rules/no-disabled-tests'); | ||
var RuleTester = require('eslint').RuleTester; | ||
var rule = require('../../lib/rules/no-disabled-tests') | ||
var RuleTester = require('eslint').RuleTester | ||
var eslintTester = new RuleTester(); | ||
var eslintTester = new RuleTester() | ||
@@ -35,2 +35,2 @@ eslintTester.run('no-disabled-tests', rule, { | ||
] | ||
}); | ||
}) |
@@ -1,7 +0,7 @@ | ||
'use strict'; | ||
'use strict' | ||
var rule = require('../../lib/rules/no-focused-tests'); | ||
var RuleTester = require('eslint').RuleTester; | ||
var rule = require('../../lib/rules/no-focused-tests') | ||
var RuleTester = require('eslint').RuleTester | ||
var eslintTester = new RuleTester(); | ||
var eslintTester = new RuleTester() | ||
@@ -53,2 +53,2 @@ eslintTester.run('no-focused-tests', rule, { | ||
] | ||
}); | ||
}) |
@@ -1,7 +0,7 @@ | ||
'use strict'; | ||
'use strict' | ||
var rule = require('../../lib/rules/no-spec-dupes'); | ||
var RuleTester = require('eslint').RuleTester; | ||
var rule = require('../../lib/rules/no-spec-dupes') | ||
var RuleTester = require('eslint').RuleTester | ||
var eslintTester = new RuleTester(); | ||
var eslintTester = new RuleTester() | ||
@@ -16,4 +16,4 @@ /* | ||
*/ | ||
function toCode(lines, description) { | ||
return (description ? '// ' + description : '') + '\n' + lines.join('\n'); | ||
function toCode (lines, description) { | ||
return (description ? '// ' + description : '') + '\n' + lines.join('\n') | ||
} | ||
@@ -231,2 +231,2 @@ | ||
] | ||
}); | ||
}) |
@@ -1,7 +0,7 @@ | ||
'use strict'; | ||
'use strict' | ||
var rule = require('../../lib/rules/no-suite-callback-args'); | ||
var RuleTester = require('eslint').RuleTester; | ||
var rule = require('../../lib/rules/no-suite-callback-args') | ||
var RuleTester = require('eslint').RuleTester | ||
var eslintTester = new RuleTester(); | ||
var eslintTester = new RuleTester() | ||
@@ -24,3 +24,3 @@ eslintTester.run('describe-with-done', rule, { | ||
{ | ||
message: 'Unexpected argument in suite\'s callback' | ||
message: "Unexpected argument in suite's callback" | ||
} | ||
@@ -33,3 +33,3 @@ ] | ||
{ | ||
message: 'Unexpected argument in suite\'s callback' | ||
message: "Unexpected argument in suite's callback" | ||
} | ||
@@ -42,3 +42,3 @@ ] | ||
{ | ||
message: 'Unexpected argument in suite\'s callback' | ||
message: "Unexpected argument in suite's callback" | ||
} | ||
@@ -51,3 +51,3 @@ ] | ||
{ | ||
message: 'Unexpected argument in suite\'s callback' | ||
message: "Unexpected argument in suite's callback" | ||
} | ||
@@ -60,3 +60,3 @@ ] | ||
{ | ||
message: 'Unexpected argument in suite\'s callback' | ||
message: "Unexpected argument in suite's callback" | ||
} | ||
@@ -69,3 +69,3 @@ ] | ||
{ | ||
message: 'Unexpected argument in suite\'s callback' | ||
message: "Unexpected argument in suite's callback" | ||
} | ||
@@ -78,3 +78,3 @@ ] | ||
{ | ||
message: 'Unexpected argument in suite\'s callback' | ||
message: "Unexpected argument in suite's callback" | ||
} | ||
@@ -84,2 +84,2 @@ ] | ||
] | ||
}); | ||
}) |
@@ -1,7 +0,7 @@ | ||
'use strict'; | ||
'use strict' | ||
var rule = require('../../lib/rules/no-suite-dupes'); | ||
var RuleTester = require('eslint').RuleTester; | ||
var rule = require('../../lib/rules/no-suite-dupes') | ||
var RuleTester = require('eslint').RuleTester | ||
var eslintTester = new RuleTester(); | ||
var eslintTester = new RuleTester() | ||
@@ -16,4 +16,4 @@ /* | ||
*/ | ||
function toCode(lines, description) { | ||
return (description ? '// ' + description : '') + '\n' + lines.join('\n'); | ||
function toCode (lines, description) { | ||
return (description ? '// ' + description : '') + '\n' + lines.join('\n') | ||
} | ||
@@ -236,2 +236,2 @@ | ||
] | ||
}); | ||
}) |
34302
30