version_specs.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import {describe, beforeEach, it, expect} from 'test/lib/common';
  2. import {SemVersion, isVersionGtOrEq} from 'app/core/utils/version';
  3. describe("SemVersion", () => {
  4. let version = '1.0.0-alpha.1';
  5. describe('parsing', () => {
  6. it('should parse version properly', () => {
  7. let semver = new SemVersion(version);
  8. expect(semver.major).to.be(1);
  9. expect(semver.minor).to.be(0);
  10. expect(semver.patch).to.be(0);
  11. expect(semver.meta).to.be('alpha.1');
  12. });
  13. });
  14. describe('comparing', () => {
  15. beforeEach(() => {
  16. version = '3.4.5';
  17. });
  18. it('should detect greater version properly', () => {
  19. let semver = new SemVersion(version);
  20. let cases = [
  21. {value: '3.4.5', expected: true},
  22. {value: '3.4.4', expected: true},
  23. {value: '3.4.6', expected: false},
  24. {value: '4', expected: false},
  25. {value: '3.5', expected: false},
  26. ];
  27. cases.forEach((testCase) => {
  28. expect(semver.isGtOrEq(testCase.value)).to.be(testCase.expected);
  29. });
  30. });
  31. });
  32. describe('isVersionGtOrEq', () => {
  33. it('should compare versions properly (a >= b)', () => {
  34. let cases = [
  35. {values: ['3.4.5', '3.4.5'], expected: true},
  36. {values: ['3.4.5', '3.4.4'] , expected: true},
  37. {values: ['3.4.5', '3.4.6'], expected: false},
  38. {values: ['3.4', '3.4.0'], expected: true},
  39. {values: ['3', '3.0.0'], expected: true},
  40. {values: ['3.1.1-beta1', '3.1'], expected: true},
  41. {values: ['3.4.5', '4'], expected: false},
  42. {values: ['3.4.5', '3.5'], expected: false},
  43. ];
  44. cases.forEach((testCase) => {
  45. expect(isVersionGtOrEq(testCase.values[0], testCase.values[1])).to.be(testCase.expected);
  46. });
  47. });
  48. });
  49. });