UNPKG

codacy-seed

Version:
185 lines 6.21 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const assert_1 = require("assert"); const chai_1 = __importDefault(require("chai")); const fileUtils_1 = require("../fileUtils"); describe("fileUtils", () => { describe("parseCodacyrcFile", () => { it("should parse a codacyrc file", () => { const codacyrcFileContent = `{ "files" : ["foo/bar/baz.js", "foo2/bar/baz.php"], "tools":[ { "name":"jshint", "patterns":[ { "patternId":"latedef", "parameters":[ { "name":"latedef", "value":"vars" } ] } ] } ] }`; const parsed = (0, fileUtils_1.parseCodacyrcFile)(codacyrcFileContent); const expected = { files: ["foo/bar/baz.js", "foo2/bar/baz.php"], tools: [ { name: "jshint", patterns: [ { patternId: "latedef", parameters: [ { name: "latedef", value: "vars" } ] } ] } ] }; (0, assert_1.deepStrictEqual)(parsed, expected); }); it("should parse a codacyrc file with no files", () => { const codacyrcFileContent = `{ "tools":[ { "name":"jshint", "patterns":[ { "patternId":"latedef", "parameters":[ { "name":"latedef", "value":"vars" } ] } ] } ] }`; const parsed = (0, fileUtils_1.parseCodacyrcFile)(codacyrcFileContent); const expected = { tools: [ { name: "jshint", patterns: [ { patternId: "latedef", parameters: [ { name: "latedef", value: "vars" } ] } ] } ] }; (0, assert_1.deepStrictEqual)(parsed, expected); }); it("should parse a codacyrc file with no tools", () => { const codacyrcFileContent = `{ "files" : ["foo/bar/baz.js", "foo2/bar/baz.php"] }`; const parsed = (0, fileUtils_1.parseCodacyrcFile)(codacyrcFileContent); const expected = { files: ["foo/bar/baz.js", "foo2/bar/baz.php"] }; (0, assert_1.deepStrictEqual)(parsed, expected); }); it("should parse codacyrc files with no parameters in pattern", () => { var _a, _b; const codacyrcFileContent = `{ "files" : [], "tools":[ { "name": "", "patterns":[ { "patternId":"latedef" } ] } ] }`; const parsed = (0, fileUtils_1.parseCodacyrcFile)(codacyrcFileContent); const parameters = (_b = (_a = parsed.tools) === null || _a === void 0 ? void 0 : _a[0].patterns) === null || _b === void 0 ? void 0 : _b[0].parameters; (0, assert_1.deepStrictEqual)(parameters, []); const expected = { files: [], tools: [ { name: "", patterns: [ { patternId: "latedef", parameters: [] } ] } ] }; (0, assert_1.deepStrictEqual)(parsed, expected); }); it("should fail with an invalid codacyrc file", () => { const wrongCodacyrcFileContent = `{`; chai_1.default.expect(() => (0, fileUtils_1.parseCodacyrcFile)(wrongCodacyrcFileContent)).to.throw(); }); }); describe("parseSpecification", () => { it("should parse specifications with no parameters in patterns", () => { const specificationContent = `{ "name": "tool", "version": "10", "patterns": [ { "patternId": "a-patternId", "level": "Warning", "category": "CodeStyle" } ] }`; const result = (0, fileUtils_1.parseSpecification)(specificationContent); const expected = { name: "tool", version: "10", patterns: [ { patternId: "a-patternId", level: "Warning", category: "CodeStyle", parameters: [], enabled: false } ] }; (0, assert_1.deepStrictEqual)(result, expected); }); }); it("should parse a codacyrc file with options", () => { const codacyrcFileContent = `{ "options": { "language": "typescript" } }`; const parsed = (0, fileUtils_1.parseCodacyrcFile)(codacyrcFileContent); const expected = { options: { language: "typescript" } }; (0, assert_1.deepStrictEqual)(parsed, expected); }); }); //# sourceMappingURL=fileUtils.spec.js.map