UNPKG

semantic-release-dotnet

Version:

A semantic-release plugin for versioning .NET core projects.

115 lines 5.5 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const fs = require("fs"); const path = require("path"); const prepare_1 = require("../prepare"); const funcs_1 = require("./funcs"); test("create default file", () => __awaiter(void 0, void 0, void 0, function* () { const dir = funcs_1.prepareTest("create-default-file"); const resultPath = path.join(dir, "Directory.Build.props"); yield prepare_1.update({ debug: false }, funcs_1.logger, dir, "1.2.3"); expect(fs.existsSync(resultPath)).toBe(true); expect(fs.readFileSync(resultPath).toString()).toContain("<Version>1.2.3</Version>"); })); test("update default file update version", () => __awaiter(void 0, void 0, void 0, function* () { const dir = funcs_1.prepareTest("update-default-file-update-version"); const resultPath = path.join(dir, "Directory.Build.props"); fs.writeFileSync(resultPath, [ "<Project>", " <PropertyGroup>", " <Version>1.2.3</Version>", " </PropertyGroup>", "</Project>", "", ].join("\n")); yield prepare_1.update({ debug: false }, funcs_1.logger, dir, "4.5.6"); expect(fs.existsSync(resultPath)).toBe(true); expect(fs.readFileSync(resultPath).toString()).toContain("<Version>4.5.6</Version>"); })); test("update default file add property group", () => __awaiter(void 0, void 0, void 0, function* () { const dir = funcs_1.prepareTest("update-defualt-file-add-property-group"); const resultPath = path.join(dir, "Directory.Build.props"); fs.writeFileSync(resultPath, ["<Project>", "</Project>", ""].join("\n")); yield prepare_1.update({ debug: false }, funcs_1.logger, dir, "4.5.6"); expect(fs.existsSync(resultPath)).toBe(true); expect(fs.readFileSync(resultPath).toString()).toContain("<Version>4.5.6</Version>"); })); test("update default files append property group", () => __awaiter(void 0, void 0, void 0, function* () { const dir = funcs_1.prepareTest("update-default-files-append-property-group"); const resultPath = path.join(dir, "Directory.Build.props"); fs.writeFileSync(resultPath, [ "<Project>", " <PropertyGroup>", " <Other>other</Other>", " </PropertyGroup>", "</Project>", "", ].join("\n")); yield prepare_1.update({ debug: false }, funcs_1.logger, dir, "4.5.6"); const content = fs.readFileSync(resultPath).toString(); expect(fs.existsSync(resultPath)).toBe(true); expect(content).toContain("<Version>4.5.6</Version>"); expect(content).toContain("<Other>other</Other>"); })); test("update multiple files one pattern", () => __awaiter(void 0, void 0, void 0, function* () { const dir = funcs_1.prepareTest("update-multiple-files-one-pattern"); const resultPath1 = path.join(dir, "t1.csproj"); const resultPath2 = path.join(dir, "t2.csproj"); fs.writeFileSync(resultPath1, [ "<Project>", " <PropertyGroup>", " <Version>1.2.3</Version>", " </PropertyGroup>", "</Project>", "", ].join("\n")); fs.writeFileSync(resultPath2, [ "<Project>", " <PropertyGroup>", " <Version>2.3.4</Version>", " </PropertyGroup>", "</Project>", "", ].join("\n")); yield prepare_1.update({ paths: ["**/*.csproj"], debug: false }, funcs_1.logger, dir, "4.5.6"); expect(fs.existsSync(resultPath1)).toBe(true); expect(fs.existsSync(resultPath2)).toBe(true); expect(fs.readFileSync(resultPath1).toString()).toContain("<Version>4.5.6</Version>"); expect(fs.readFileSync(resultPath2).toString()).toContain("<Version>4.5.6</Version>"); })); test("update multiple files two patterns", () => __awaiter(void 0, void 0, void 0, function* () { const dir = funcs_1.prepareTest("update-multiple-files-two-patterns"); const resultPath1 = path.join(dir, "t1.csproj"); const resultPath2 = path.join(dir, "t2.csproj"); fs.writeFileSync(resultPath1, [ "<Project>", " <PropertyGroup>", " <Version>1.2.3</Version>", " </PropertyGroup>", "</Project>", "", ].join("\n")); fs.writeFileSync(resultPath2, [ "<Project>", " <PropertyGroup>", " <Version>2.3.4</Version>", " </PropertyGroup>", "</Project>", "", ].join("\n")); yield prepare_1.update({ paths: ["**/t1.*", "t2.*"], debug: false }, funcs_1.logger, dir, "4.5.6"); expect(fs.existsSync(resultPath1)).toBe(true); expect(fs.existsSync(resultPath2)).toBe(true); expect(fs.readFileSync(resultPath1).toString()).toContain("<Version>4.5.6</Version>"); expect(fs.readFileSync(resultPath2).toString()).toContain("<Version>4.5.6</Version>"); })); //# sourceMappingURL=prepare.test.js.map