git-version.test.ts 4.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import {GitVersion} from '../src/git-version'
  2. import {MinimumGitSparseCheckoutVersion} from '../src/git-command-manager'
  3. describe('git-version tests', () => {
  4. it('basics', async () => {
  5. let version = new GitVersion('')
  6. expect(version.isValid()).toBeFalsy()
  7. version = new GitVersion('asdf')
  8. expect(version.isValid()).toBeFalsy()
  9. version = new GitVersion('1.2')
  10. expect(version.isValid()).toBeTruthy()
  11. expect(version.toString()).toBe('1.2')
  12. version = new GitVersion('1.2.3')
  13. expect(version.isValid()).toBeTruthy()
  14. expect(version.toString()).toBe('1.2.3')
  15. })
  16. it('check minimum', async () => {
  17. let version = new GitVersion('4.5')
  18. expect(version.checkMinimum(new GitVersion('3.6'))).toBeTruthy()
  19. expect(version.checkMinimum(new GitVersion('3.6.7'))).toBeTruthy()
  20. expect(version.checkMinimum(new GitVersion('4.4'))).toBeTruthy()
  21. expect(version.checkMinimum(new GitVersion('4.5'))).toBeTruthy()
  22. expect(version.checkMinimum(new GitVersion('4.5.0'))).toBeTruthy()
  23. expect(version.checkMinimum(new GitVersion('4.6'))).toBeFalsy()
  24. expect(version.checkMinimum(new GitVersion('4.6.0'))).toBeFalsy()
  25. expect(version.checkMinimum(new GitVersion('5.1'))).toBeFalsy()
  26. expect(version.checkMinimum(new GitVersion('5.1.2'))).toBeFalsy()
  27. version = new GitVersion('4.5.6')
  28. expect(version.checkMinimum(new GitVersion('3.6'))).toBeTruthy()
  29. expect(version.checkMinimum(new GitVersion('3.6.7'))).toBeTruthy()
  30. expect(version.checkMinimum(new GitVersion('4.4'))).toBeTruthy()
  31. expect(version.checkMinimum(new GitVersion('4.5'))).toBeTruthy()
  32. expect(version.checkMinimum(new GitVersion('4.5.5'))).toBeTruthy()
  33. expect(version.checkMinimum(new GitVersion('4.5.6'))).toBeTruthy()
  34. expect(version.checkMinimum(new GitVersion('4.5.7'))).toBeFalsy()
  35. expect(version.checkMinimum(new GitVersion('4.6'))).toBeFalsy()
  36. expect(version.checkMinimum(new GitVersion('4.6.0'))).toBeFalsy()
  37. expect(version.checkMinimum(new GitVersion('5.1'))).toBeFalsy()
  38. expect(version.checkMinimum(new GitVersion('5.1.2'))).toBeFalsy()
  39. })
  40. it('sparse checkout', async () => {
  41. const minSparseVer = MinimumGitSparseCheckoutVersion
  42. expect(new GitVersion('1.0').checkMinimum(minSparseVer)).toBeFalsy()
  43. expect(new GitVersion('1.99').checkMinimum(minSparseVer)).toBeFalsy()
  44. expect(new GitVersion('2.0').checkMinimum(minSparseVer)).toBeFalsy()
  45. expect(new GitVersion('2.24').checkMinimum(minSparseVer)).toBeFalsy()
  46. expect(new GitVersion('2.24.0').checkMinimum(minSparseVer)).toBeFalsy()
  47. expect(new GitVersion('2.24.9').checkMinimum(minSparseVer)).toBeFalsy()
  48. expect(new GitVersion('2.25').checkMinimum(minSparseVer)).toBeFalsy()
  49. expect(new GitVersion('2.25.0').checkMinimum(minSparseVer)).toBeFalsy()
  50. expect(new GitVersion('2.25.1').checkMinimum(minSparseVer)).toBeFalsy()
  51. expect(new GitVersion('2.25.9').checkMinimum(minSparseVer)).toBeFalsy()
  52. expect(new GitVersion('2.26').checkMinimum(minSparseVer)).toBeFalsy()
  53. expect(new GitVersion('2.26.0').checkMinimum(minSparseVer)).toBeFalsy()
  54. expect(new GitVersion('2.26.1').checkMinimum(minSparseVer)).toBeFalsy()
  55. expect(new GitVersion('2.26.9').checkMinimum(minSparseVer)).toBeFalsy()
  56. expect(new GitVersion('2.27').checkMinimum(minSparseVer)).toBeFalsy()
  57. expect(new GitVersion('2.27.0').checkMinimum(minSparseVer)).toBeFalsy()
  58. expect(new GitVersion('2.27.1').checkMinimum(minSparseVer)).toBeFalsy()
  59. expect(new GitVersion('2.27.9').checkMinimum(minSparseVer)).toBeFalsy()
  60. // /---------------------------------------
  61. // ^^^ before / after vvv
  62. // --------------------------/
  63. expect(new GitVersion('2.28').checkMinimum(minSparseVer)).toBeTruthy()
  64. expect(new GitVersion('2.28.0').checkMinimum(minSparseVer)).toBeTruthy()
  65. expect(new GitVersion('2.28.1').checkMinimum(minSparseVer)).toBeTruthy()
  66. expect(new GitVersion('2.28.9').checkMinimum(minSparseVer)).toBeTruthy()
  67. expect(new GitVersion('2.29').checkMinimum(minSparseVer)).toBeTruthy()
  68. expect(new GitVersion('2.29.0').checkMinimum(minSparseVer)).toBeTruthy()
  69. expect(new GitVersion('2.29.1').checkMinimum(minSparseVer)).toBeTruthy()
  70. expect(new GitVersion('2.29.9').checkMinimum(minSparseVer)).toBeTruthy()
  71. expect(new GitVersion('2.99').checkMinimum(minSparseVer)).toBeTruthy()
  72. expect(new GitVersion('3.0').checkMinimum(minSparseVer)).toBeTruthy()
  73. expect(new GitVersion('3.99').checkMinimum(minSparseVer)).toBeTruthy()
  74. expect(new GitVersion('4.0').checkMinimum(minSparseVer)).toBeTruthy()
  75. expect(new GitVersion('4.99').checkMinimum(minSparseVer)).toBeTruthy()
  76. expect(new GitVersion('5.0').checkMinimum(minSparseVer)).toBeTruthy()
  77. expect(new GitVersion('5.99').checkMinimum(minSparseVer)).toBeTruthy()
  78. })
  79. })