tslint-clean-code
Version:
TSLint rules for enforcing Clean Code
104 lines • 5.14 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var TestHelper_1 = require("./TestHelper");
var noFlagArgsRule_1 = require("../noFlagArgsRule");
describe('noFlagArgsRule', function () {
var ruleName = 'no-flag-args';
context('Anonymous Function', function () {
it('should pass on string parameter', function () {
var script = "\n function (arg1: string) {\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, []);
});
it('should fail on boolean parameter', function () {
var script = "\n function (arg1: boolean) {\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, [
{
failure: noFlagArgsRule_1.FAILURE_STRING + 'arg1' + '\nSplit the function into two.',
name: 'file.ts',
ruleName: 'no-flag-args',
ruleSeverity: 'ERROR',
startPosition: {
character: 23,
line: 2,
},
},
]);
});
});
context('Anonymous Function', function () {
it('should pass on string parameter', function () {
var script = "\n function (arg1: string) {\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, []);
});
it('should fail on boolean parameter', function () {
var script = "\n function (arg1: boolean) {\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, [
{
failure: noFlagArgsRule_1.FAILURE_STRING + 'arg1' + '\nSplit the function into two.',
name: 'file.ts',
ruleName: 'no-flag-args',
ruleSeverity: 'ERROR',
startPosition: {
character: 23,
line: 2,
},
},
]);
});
});
context('Named Function', function () {
it('should pass on string parameter', function () {
var script = "\n function doStuff(stuff: string) {\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, []);
});
it('should fail on boolean parameter', function () {
var script = "\n function doStuff(shouldDoStuff: boolean) {\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, [
{
failure: noFlagArgsRule_1.FAILURE_STRING +
'shouldDoStuff' +
'\nSplit the function into two, such as doStuffWhenShouldDoStuff and doStuffWhenNotShouldDoStuff.',
name: 'file.ts',
ruleName: 'no-flag-args',
ruleSeverity: 'ERROR',
startPosition: {
character: 30,
line: 2,
},
},
]);
});
});
context('Arrow Function', function () {
it('should pass on string parameter', function () {
var script = "\n (arg1: string) => {\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, []);
});
it('should fail on boolean parameter', function () {
var script = "\n (arg1: boolean) => {\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, [
{
failure: noFlagArgsRule_1.FAILURE_STRING + 'arg1' + '\nSplit the function into two.',
name: 'file.ts',
ruleName: 'no-flag-args',
ruleSeverity: 'ERROR',
startPosition: {
character: 22,
line: 2,
},
},
]);
});
});
context('Class Methods', function () {
it('should pass on setter method', function () {
var script = "\n class MyClass {\n private value: boolean;\n public set myValue(newValue: boolean) {\n this.value = newValue;\n }\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, []);
});
it('should pass on getter method', function () {
var script = "\n class MyClass {\n private value: boolean;\n public get myValue() {\n return this.value;\n }\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, []);
});
});
});
//# sourceMappingURL=NoFlagArgsRuleTests.js.map
;