tslint-clean-code
Version:
TSLint rules for enforcing Clean Code
74 lines • 3.96 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var TestHelper_1 = require("./TestHelper");
var maxFuncArgsRule_1 = require("../maxFuncArgsRule");
describe('maxFuncArgsRule', function () {
var ruleName = 'max-func-args';
context('Anonymous Function', function () {
var maxLength = maxFuncArgsRule_1.DEFAULT_MAX_ARGS_LENGTH;
it('should pass on function with 0 arguments', function () {
var script = "\n function () {\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, []);
});
it('should fail on function with 5 arguments', function () {
var script = "\n function (a1, a2, a3, a4, a5) {\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, [
{
failure: maxFuncArgsRule_1.FAILURE_STRING + maxLength + maxFuncArgsRule_1.FAILURE_RECOMMENDATION_STRING,
name: 'file.ts',
ruleName: 'max-func-args',
ruleSeverity: 'ERROR',
startPosition: {
character: 31,
line: 2,
},
},
]);
});
});
context('Arrow Function', function () {
var maxLength = maxFuncArgsRule_1.DEFAULT_MAX_ARGS_LENGTH;
it('should pass on function with 0 arguments', function () {
var script = "\n () => {\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, []);
});
it('should fail on function with 5 arguments', function () {
var script = "\n (a1, a2, a3, a4, a5) => {\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, [
{
failure: maxFuncArgsRule_1.FAILURE_STRING + maxLength + maxFuncArgsRule_1.FAILURE_RECOMMENDATION_STRING,
name: 'file.ts',
ruleName: 'max-func-args',
ruleSeverity: 'ERROR',
startPosition: {
character: 30,
line: 2,
},
},
]);
});
});
context('Class method', function () {
var maxLength = maxFuncArgsRule_1.DEFAULT_MAX_ARGS_LENGTH;
it('should pass on function with 0 arguments', function () {
var script = "\n class MyClass {\n private myFunc(): string {\n // ...\n }\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, []);
});
it('should fail on function with 5 arguments', function () {
var script = "\n class MyClass {\n private myFunc(\n arg1: Date | string | void, arg2: boolean,\n arg3?: Date | string | void, arg4?: boolean,\n arg5: string = \"en\"\n ): string {\n // ...\n }\n }\n ";
TestHelper_1.TestHelper.assertViolations(ruleName, script, [
{
failure: maxFuncArgsRule_1.FAILURE_STRING + maxLength + maxFuncArgsRule_1.FAILURE_RECOMMENDATION_STRING,
name: 'file.ts',
ruleName: 'max-func-args',
ruleSeverity: 'ERROR',
startPosition: {
character: 32,
line: 3,
},
},
]);
});
});
});
//# sourceMappingURL=MaxFuncArgsRuleTests.js.map
;