VersionTest.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. /* eslint-disable
  2. no-return-assign,
  3. no-undef,
  4. no-unused-vars,
  5. */
  6. // TODO: This file was created by bulk-decaffeinate.
  7. // Fix any style issues and re-enable lint.
  8. /*
  9. * decaffeinate suggestions:
  10. * DS102: Remove unnecessary code created because of implicit returns
  11. * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
  12. */
  13. import { expect } from 'chai'
  14. import { strict as esmock } from 'esmock'
  15. const MODULE_PATH = '../../../../app/js/Versions.js'
  16. describe('Versions', function () {
  17. beforeEach(async function () {
  18. return (this.Versions = await esmock(MODULE_PATH))
  19. })
  20. describe('compare', function () {
  21. describe('for greater major version', function () {
  22. return it('should return +1', function () {
  23. return this.Versions.compare('2.1', '1.1').should.equal(+1)
  24. })
  25. })
  26. describe('for lesser major version', function () {
  27. return it('should return -1', function () {
  28. return this.Versions.compare('1.1', '2.1').should.equal(-1)
  29. })
  30. })
  31. describe('for equal major versions with no minor version', function () {
  32. return it('should return 0', function () {
  33. return this.Versions.compare('2', '2').should.equal(0)
  34. })
  35. })
  36. describe('for equal major versions with greater minor version', function () {
  37. return it('should return +1', function () {
  38. return this.Versions.compare('2.3', '2.1').should.equal(+1)
  39. })
  40. })
  41. describe('for equal major versions with lesser minor version', function () {
  42. return it('should return -1', function () {
  43. return this.Versions.compare('2.1', '2.3').should.equal(-1)
  44. })
  45. })
  46. describe('for equal major versions with greater minor version (non lexical)', function () {
  47. return it('should return +1', function () {
  48. return this.Versions.compare('2.10', '2.9').should.equal(+1)
  49. })
  50. })
  51. describe('for equal major versions with lesser minor version (non lexical)', function () {
  52. return it('should return +1', function () {
  53. return this.Versions.compare('2.9', '2.10').should.equal(-1)
  54. })
  55. })
  56. describe('for a single major version vs a major+minor version', function () {
  57. return it('should return +1', function () {
  58. return this.Versions.compare('2.1', '1').should.equal(+1)
  59. })
  60. })
  61. describe('for a major+minor version vs a single major version', function () {
  62. return it('should return -1', function () {
  63. return this.Versions.compare('1', '2.1').should.equal(-1)
  64. })
  65. })
  66. describe('for equal major versions with greater minor version vs zero', function () {
  67. return it('should return +1', function () {
  68. return this.Versions.compare('2.3', '2.0').should.equal(+1)
  69. })
  70. })
  71. return describe('for equal major versions with lesser minor version of zero', function () {
  72. return it('should return -1', function () {
  73. return this.Versions.compare('2.0', '2.3').should.equal(-1)
  74. })
  75. })
  76. })
  77. describe('gt', function () {
  78. describe('for greater major version', function () {
  79. return it('should return true', function () {
  80. return this.Versions.gt('2.1', '1.1').should.equal(true)
  81. })
  82. })
  83. describe('for lesser major version', function () {
  84. return it('should return false', function () {
  85. return this.Versions.gt('1.1', '2.1').should.equal(false)
  86. })
  87. })
  88. return describe('for equal major versions with no minor version', function () {
  89. return it('should return false', function () {
  90. return this.Versions.gt('2', '2').should.equal(false)
  91. })
  92. })
  93. })
  94. describe('gte', function () {
  95. describe('for greater major version', function () {
  96. return it('should return true', function () {
  97. return this.Versions.gte('2.1', '1.1').should.equal(true)
  98. })
  99. })
  100. describe('for lesser major version', function () {
  101. return it('should return false', function () {
  102. return this.Versions.gte('1.1', '2.1').should.equal(false)
  103. })
  104. })
  105. return describe('for equal major versions with no minor version', function () {
  106. return it('should return true', function () {
  107. return this.Versions.gte('2', '2').should.equal(true)
  108. })
  109. })
  110. })
  111. describe('lt', function () {
  112. describe('for greater major version', function () {
  113. return it('should return false', function () {
  114. return this.Versions.lt('2.1', '1.1').should.equal(false)
  115. })
  116. })
  117. describe('for lesser major version', function () {
  118. return it('should return true', function () {
  119. return this.Versions.lt('1.1', '2.1').should.equal(true)
  120. })
  121. })
  122. return describe('for equal major versions with no minor version', function () {
  123. return it('should return false', function () {
  124. return this.Versions.lt('2', '2').should.equal(false)
  125. })
  126. })
  127. })
  128. return describe('lte', function () {
  129. describe('for greater major version', function () {
  130. return it('should return false', function () {
  131. return this.Versions.lte('2.1', '1.1').should.equal(false)
  132. })
  133. })
  134. describe('for lesser major version', function () {
  135. return it('should return true', function () {
  136. return this.Versions.lte('1.1', '2.1').should.equal(true)
  137. })
  138. })
  139. return describe('for equal major versions with no minor version', function () {
  140. return it('should return true', function () {
  141. return this.Versions.lte('2', '2').should.equal(true)
  142. })
  143. })
  144. })
  145. })