semantic-release-dotnet
Version:
A semantic-release plugin for versioning .NET core projects.
115 lines • 5.5 kB
JavaScript
;
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