semver_test.sh 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. #!/usr/bin/env bash
  2. . ./semver.sh
  3. semverTest() {
  4. local A=R1.3.2
  5. local B=R2.3.2
  6. local C=R1.4.2
  7. local D=R1.3.3
  8. local E=R1.3.2a
  9. local F=R1.3.2b
  10. local G=R1.2.3
  11. local MAJOR=0
  12. local MINOR=0
  13. local PATCH=0
  14. local SPECIAL=""
  15. semverParseInto $A MAJOR MINOR PATCH SPECIAL
  16. echo "$A -> M:$MAJOR m:$MINOR p:$PATCH s:$SPECIAL. Expect M:1 m:3 p:2 s:"
  17. semverParseInto $E MAJOR MINOR PATCH SPECIAL
  18. echo "$E -> M:$MAJOR m:$MINOR p:$PATCH s:$SPECIAL. Expect M:1 m:3 p:2 s:a"
  19. echo "Equality comparisons"
  20. semverEQ $A $A
  21. echo "$A == $A -> $?. Expect 0."
  22. semverLT $A $A
  23. echo "$A < $A -> $?. Expect 1."
  24. semverGT $A $A
  25. echo "$A > $A -> $?. Expect 1."
  26. echo "Major number comparisons"
  27. semverEQ $A $B
  28. echo "$A == $B -> $?. Expect 1."
  29. semverLT $A $B
  30. echo "$A < $B -> $?. Expect 0."
  31. semverGT $A $B
  32. echo "$A > $B -> $?. Expect 1."
  33. semverEQ $B $A
  34. echo "$B == $A -> $?. Expect 1."
  35. semverLT $B $A
  36. echo "$B < $A -> $?. Expect 1."
  37. semverGT $B $A
  38. echo "$B > $A -> $?. Expect 0."
  39. echo "Minor number comparisons"
  40. semverEQ $A $C
  41. echo "$A == $C -> $?. Expect 1."
  42. semverLT $A $C
  43. echo "$A < $C -> $?. Expect 0."
  44. semverGT $A $C
  45. echo "$A > $C -> $?. Expect 1."
  46. semverEQ $C $A
  47. echo "$C == $A -> $?. Expect 1."
  48. semverLT $C $A
  49. echo "$C < $A -> $?. Expect 1."
  50. semverGT $C $A
  51. echo "$C > $A -> $?. Expect 0."
  52. echo "patch number comparisons"
  53. semverEQ $A $D
  54. echo "$A == $D -> $?. Expect 1."
  55. semverLT $A $D
  56. echo "$A < $D -> $?. Expect 0."
  57. semverGT $A $D
  58. echo "$A > $D -> $?. Expect 1."
  59. semverEQ $D $A
  60. echo "$D == $A -> $?. Expect 1."
  61. semverLT $D $A
  62. echo "$D < $A -> $?. Expect 1."
  63. semverGT $D $A
  64. echo "$D > $A -> $?. Expect 0."
  65. echo "special section vs no special comparisons"
  66. semverEQ $A $E
  67. echo "$A == $E -> $?. Expect 1."
  68. semverLT $A $E
  69. echo "$A < $E -> $?. Expect 1."
  70. semverGT $A $E
  71. echo "$A > $E -> $?. Expect 0."
  72. semverEQ $E $A
  73. echo "$E == $A -> $?. Expect 1."
  74. semverLT $E $A
  75. echo "$E < $A -> $?. Expect 0."
  76. semverGT $E $A
  77. echo "$E > $A -> $?. Expect 1."
  78. echo "special section vs special comparisons"
  79. semverEQ $E $F
  80. echo "$E == $F -> $?. Expect 1."
  81. semverLT $E $F
  82. echo "$E < $F -> $?. Expect 0."
  83. semverGT $E $F
  84. echo "$E > $F -> $?. Expect 1."
  85. semverEQ $F $E
  86. echo "$F == $E -> $?. Expect 1."
  87. semverLT $F $E
  88. echo "$F < $E -> $?. Expect 1."
  89. semverGT $F $E
  90. echo "$F > $E -> $?. Expect 0."
  91. echo "Minor and patch number comparisons"
  92. semverEQ $A $G
  93. echo "$A == $G -> $?. Expect 1."
  94. semverLT $A $G
  95. echo "$A < $G -> $?. Expect 1."
  96. semverGT $A $G
  97. echo "$A > $G -> $?. Expect 0."
  98. semverEQ $G $A
  99. echo "$G == $A -> $?. Expect 1."
  100. semverLT $G $A
  101. echo "$G < $A -> $?. Expect 0."
  102. semverGT $G $A
  103. echo "$G > $A -> $?. Expect 1."
  104. }
  105. semverTest