tslint-clean-code
Version:
TSLint rules for enforcing Clean Code
32 lines • 1.94 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var TestHelper_1 = require("./TestHelper");
var noComplexConditionalsRule_1 = require("../noComplexConditionalsRule");
var FAILURE_STRING = noComplexConditionalsRule_1.Rule.FAILURE_STRING;
describe('noComplexConditionalsRule', function () {
var ruleName = 'no-complex-conditionals';
it('should pass on single variable as conditional expression', function () {
var script = "\n const shouldDoStuff = (((status === 1 || status === 2 || status === 3) || isSkyBlue) && isRightDay);\n if (shouldDoStuff) {\n doStuff();\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, []);
});
it('should pass on function call as conditional expression', function () {
var script = "\n class StuffDoer {\n doTheThing() {\n if (this.shouldDoStuff()) {\n doStuff();\n }\n }\n shouldDoStuff() {\n return (((status === 1 || status === 2 || status === 3) || isSkyBlue) && isRightDay);\n }\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, []);
});
it('should fail on complex conditional expression in if statement', function () {
var script = "\n // Test\n if (((status === 1 || status === 2 || status === 3) || isSkyBlue) && isRightDay) {\n doStuff();\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, [
{
failure: FAILURE_STRING,
name: 'file.ts',
ruleName: ruleName,
ruleSeverity: 'ERROR',
startPosition: {
character: 13,
line: 3,
},
},
]);
});
});
//# sourceMappingURL=NoComplexConditionalsRuleTests.js.map
;