getPackageVersion.test.js 7.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. const getPackageVersion_1 = require("./getPackageVersion");
  4. describe("getPackageVersion", () => {
  5. beforeEach(() => {
  6. jest.resetModules();
  7. });
  8. const packagePath = "../package.json";
  9. it("should return version without change when already valid", () => {
  10. const packageJSON = {
  11. version: "1.2.3",
  12. };
  13. jest.mock(packagePath, () => {
  14. return packageJSON;
  15. });
  16. const expected = "1.2.3";
  17. expect(getPackageVersion_1.getPackageVersion(packagePath)).toEqual(expected);
  18. });
  19. it("should return version with prefix", () => {
  20. const packageJSON = {
  21. version: "v1.2.3",
  22. };
  23. jest.mock(packagePath, () => {
  24. return packageJSON;
  25. });
  26. const expected = "v1.2.3";
  27. expect(getPackageVersion_1.getPackageVersion(packagePath)).toEqual(expected);
  28. });
  29. it("should return invalid version without change", () => {
  30. const packageJSON = {
  31. version: "a.b.c",
  32. };
  33. jest.mock(packagePath, () => {
  34. return packageJSON;
  35. });
  36. const expected = "a.b.c";
  37. expect(getPackageVersion_1.getPackageVersion(packagePath)).toEqual(expected);
  38. });
  39. it("should return invalid version without build metadata", () => {
  40. const packageJSON = {
  41. version: "a.b.c+asd1234",
  42. };
  43. jest.mock(packagePath, () => {
  44. return packageJSON;
  45. });
  46. const expected = "a.b.c";
  47. expect(getPackageVersion_1.getPackageVersion(packagePath)).toEqual(expected);
  48. });
  49. it("should return version without build metadata", () => {
  50. const packageJSON = {
  51. version: "1.2.3+asd1234",
  52. };
  53. jest.mock(packagePath, () => {
  54. return packageJSON;
  55. });
  56. const expected = "1.2.3";
  57. expect(getPackageVersion_1.getPackageVersion(packagePath)).toEqual(expected);
  58. });
  59. it("should return version with prefix but without build metadata", () => {
  60. const packageJSON = {
  61. version: "v1.2.3+asd1234",
  62. };
  63. jest.mock(packagePath, () => {
  64. return packageJSON;
  65. });
  66. const expected = "v1.2.3";
  67. expect(getPackageVersion_1.getPackageVersion(packagePath)).toEqual(expected);
  68. });
  69. });
  70. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UGFja2FnZVZlcnNpb24udGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9nZXRQYWNrYWdlVmVyc2lvbi50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkRBQXVEO0FBRXZELFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxHQUFHLEVBQUU7SUFDakMsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUNyQixDQUFDLENBQUMsQ0FBQTtJQUVGLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFBO0lBRXJDLEVBQUUsQ0FBQyx5REFBeUQsRUFBRSxHQUFHLEVBQUU7UUFDakUsTUFBTSxXQUFXLEdBQUc7WUFDbEIsT0FBTyxFQUFFLE9BQU87U0FDakIsQ0FBQTtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtZQUMxQixPQUFPLFdBQVcsQ0FBQTtRQUNwQixDQUFDLENBQUMsQ0FBQTtRQUVGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQTtRQUV4QixNQUFNLENBQUMscUNBQWlCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDMUQsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsbUNBQW1DLEVBQUUsR0FBRyxFQUFFO1FBQzNDLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLE9BQU8sRUFBRSxRQUFRO1NBQ2xCLENBQUE7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7WUFDMUIsT0FBTyxXQUFXLENBQUE7UUFDcEIsQ0FBQyxDQUFDLENBQUE7UUFFRixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFFekIsTUFBTSxDQUFDLHFDQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzFELENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLDhDQUE4QyxFQUFFLEdBQUcsRUFBRTtRQUN0RCxNQUFNLFdBQVcsR0FBRztZQUNsQixPQUFPLEVBQUUsT0FBTztTQUNqQixDQUFBO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFO1lBQzFCLE9BQU8sV0FBVyxDQUFBO1FBQ3BCLENBQUMsQ0FBQyxDQUFBO1FBRUYsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFBO1FBRXhCLE1BQU0sQ0FBQyxxQ0FBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUMxRCxDQUFDLENBQUMsQ0FBQTtJQUVGLEVBQUUsQ0FBQyxzREFBc0QsRUFBRSxHQUFHLEVBQUU7UUFDOUQsTUFBTSxXQUFXLEdBQUc7WUFDbEIsT0FBTyxFQUFFLGVBQWU7U0FDekIsQ0FBQTtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRTtZQUMxQixPQUFPLFdBQVcsQ0FBQTtRQUNwQixDQUFDLENBQUMsQ0FBQTtRQUVGLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQTtRQUV4QixNQUFNLENBQUMscUNBQWlCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDMUQsQ0FBQyxDQUFDLENBQUE7SUFFRixFQUFFLENBQUMsOENBQThDLEVBQUUsR0FBRyxFQUFFO1FBQ3RELE1BQU0sV0FBVyxHQUFHO1lBQ2xCLE9BQU8sRUFBRSxlQUFlO1NBQ3pCLENBQUE7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7WUFDMUIsT0FBTyxXQUFXLENBQUE7UUFDcEIsQ0FBQyxDQUFDLENBQUE7UUFFRixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUE7UUFFeEIsTUFBTSxDQUFDLHFDQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzFELENBQUMsQ0FBQyxDQUFBO0lBRUYsRUFBRSxDQUFDLDhEQUE4RCxFQUFFLEdBQUcsRUFBRTtRQUN0RSxNQUFNLFdBQVcsR0FBRztZQUNsQixPQUFPLEVBQUUsZ0JBQWdCO1NBQzFCLENBQUE7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7WUFDMUIsT0FBTyxXQUFXLENBQUE7UUFDcEIsQ0FBQyxDQUFDLENBQUE7UUFFRixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFFekIsTUFBTSxDQUFDLHFDQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzFELENBQUMsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRQYWNrYWdlVmVyc2lvbiB9IGZyb20gXCIuL2dldFBhY2thZ2VWZXJzaW9uXCJcblxuZGVzY3JpYmUoXCJnZXRQYWNrYWdlVmVyc2lvblwiLCAoKSA9PiB7XG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGplc3QucmVzZXRNb2R1bGVzKClcbiAgfSlcblxuICBjb25zdCBwYWNrYWdlUGF0aCA9IFwiLi4vcGFja2FnZS5qc29uXCJcblxuICBpdChcInNob3VsZCByZXR1cm4gdmVyc2lvbiB3aXRob3V0IGNoYW5nZSB3aGVuIGFscmVhZHkgdmFsaWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IHBhY2thZ2VKU09OID0ge1xuICAgICAgdmVyc2lvbjogXCIxLjIuM1wiLFxuICAgIH1cbiAgICBqZXN0Lm1vY2socGFja2FnZVBhdGgsICgpID0+IHtcbiAgICAgIHJldHVybiBwYWNrYWdlSlNPTlxuICAgIH0pXG5cbiAgICBjb25zdCBleHBlY3RlZCA9IFwiMS4yLjNcIlxuXG4gICAgZXhwZWN0KGdldFBhY2thZ2VWZXJzaW9uKHBhY2thZ2VQYXRoKSkudG9FcXVhbChleHBlY3RlZClcbiAgfSlcblxuICBpdChcInNob3VsZCByZXR1cm4gdmVyc2lvbiB3aXRoIHByZWZpeFwiLCAoKSA9PiB7XG4gICAgY29uc3QgcGFja2FnZUpTT04gPSB7XG4gICAgICB2ZXJzaW9uOiBcInYxLjIuM1wiLFxuICAgIH1cbiAgICBqZXN0Lm1vY2socGFja2FnZVBhdGgsICgpID0+IHtcbiAgICAgIHJldHVybiBwYWNrYWdlSlNPTlxuICAgIH0pXG5cbiAgICBjb25zdCBleHBlY3RlZCA9IFwidjEuMi4zXCJcblxuICAgIGV4cGVjdChnZXRQYWNrYWdlVmVyc2lvbihwYWNrYWdlUGF0aCkpLnRvRXF1YWwoZXhwZWN0ZWQpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgcmV0dXJuIGludmFsaWQgdmVyc2lvbiB3aXRob3V0IGNoYW5nZVwiLCAoKSA9PiB7XG4gICAgY29uc3QgcGFja2FnZUpTT04gPSB7XG4gICAgICB2ZXJzaW9uOiBcImEuYi5jXCIsXG4gICAgfVxuICAgIGplc3QubW9jayhwYWNrYWdlUGF0aCwgKCkgPT4ge1xuICAgICAgcmV0dXJuIHBhY2thZ2VKU09OXG4gICAgfSlcblxuICAgIGNvbnN0IGV4cGVjdGVkID0gXCJhLmIuY1wiXG5cbiAgICBleHBlY3QoZ2V0UGFja2FnZVZlcnNpb24ocGFja2FnZVBhdGgpKS50b0VxdWFsKGV4cGVjdGVkKVxuICB9KVxuXG4gIGl0KFwic2hvdWxkIHJldHVybiBpbnZhbGlkIHZlcnNpb24gd2l0aG91dCBidWlsZCBtZXRhZGF0YVwiLCAoKSA9PiB7XG4gICAgY29uc3QgcGFja2FnZUpTT04gPSB7XG4gICAgICB2ZXJzaW9uOiBcImEuYi5jK2FzZDEyMzRcIixcbiAgICB9XG4gICAgamVzdC5tb2NrKHBhY2thZ2VQYXRoLCAoKSA9PiB7XG4gICAgICByZXR1cm4gcGFja2FnZUpTT05cbiAgICB9KVxuXG4gICAgY29uc3QgZXhwZWN0ZWQgPSBcImEuYi5jXCJcblxuICAgIGV4cGVjdChnZXRQYWNrYWdlVmVyc2lvbihwYWNrYWdlUGF0aCkpLnRvRXF1YWwoZXhwZWN0ZWQpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgcmV0dXJuIHZlcnNpb24gd2l0aG91dCBidWlsZCBtZXRhZGF0YVwiLCAoKSA9PiB7XG4gICAgY29uc3QgcGFja2FnZUpTT04gPSB7XG4gICAgICB2ZXJzaW9uOiBcIjEuMi4zK2FzZDEyMzRcIixcbiAgICB9XG4gICAgamVzdC5tb2NrKHBhY2thZ2VQYXRoLCAoKSA9PiB7XG4gICAgICByZXR1cm4gcGFja2FnZUpTT05cbiAgICB9KVxuXG4gICAgY29uc3QgZXhwZWN0ZWQgPSBcIjEuMi4zXCJcblxuICAgIGV4cGVjdChnZXRQYWNrYWdlVmVyc2lvbihwYWNrYWdlUGF0aCkpLnRvRXF1YWwoZXhwZWN0ZWQpXG4gIH0pXG5cbiAgaXQoXCJzaG91bGQgcmV0dXJuIHZlcnNpb24gd2l0aCBwcmVmaXggYnV0IHdpdGhvdXQgYnVpbGQgbWV0YWRhdGFcIiwgKCkgPT4ge1xuICAgIGNvbnN0IHBhY2thZ2VKU09OID0ge1xuICAgICAgdmVyc2lvbjogXCJ2MS4yLjMrYXNkMTIzNFwiLFxuICAgIH1cbiAgICBqZXN0Lm1vY2socGFja2FnZVBhdGgsICgpID0+IHtcbiAgICAgIHJldHVybiBwYWNrYWdlSlNPTlxuICAgIH0pXG5cbiAgICBjb25zdCBleHBlY3RlZCA9IFwidjEuMi4zXCJcblxuICAgIGV4cGVjdChnZXRQYWNrYWdlVmVyc2lvbihwYWNrYWdlUGF0aCkpLnRvRXF1YWwoZXhwZWN0ZWQpXG4gIH0pXG59KVxuIl19