5ae69c079a
Signed-off-by: flow <flowlnlnln@gmail.com>
64 lines
1.6 KiB
Plaintext
64 lines
1.6 KiB
Plaintext
# Test vector from:
|
|
# https://github.com/unascribed/FlexVer/blob/704e12759b6e59220ff888f8bf2ec15b8f8fd969/test/test_vectors.txt
|
|
#
|
|
# This test file is formatted as "<lefthand> <operator> <righthand>", seperated by the space character
|
|
# Implementations should ignore lines starting with "#" and lines that have a length of 0
|
|
|
|
# Basic numeric ordering (lexical string sort fails these)
|
|
10 > 2
|
|
100 > 10
|
|
|
|
# Trivial common numerics
|
|
1.0 < 1.1
|
|
1.0 < 1.0.1
|
|
1.1 > 1.0.1
|
|
|
|
# SemVer compatibility
|
|
1.5 > 1.5-pre1
|
|
1.5 = 1.5+foobar
|
|
|
|
# SemVer incompatibility
|
|
1.5 < 1.5-2
|
|
1.5-pre10 > 1.5-pre2
|
|
|
|
# Empty strings
|
|
=
|
|
1 >
|
|
< 1
|
|
|
|
# Check boundary between textual and prerelease
|
|
a-a < a
|
|
|
|
# Check boundary between textual and appendix
|
|
a+a = a
|
|
|
|
# Dash is included in prerelease comparison (if stripped it will be a smaller component)
|
|
# Note that a-a < a=a regardless since the prerelease splits the component creating a smaller first component; 0 is added to force splitting regardless
|
|
a0-a < a0=a
|
|
|
|
# Pre-releases must contain only non-digit
|
|
1.16.5-10 > 1.16.5
|
|
|
|
# Pre-releases can have multiple dashes (should not be split)
|
|
# Reasoning for test data: "p-a!" > "p-a-" (correct); "p-a!" < "p-a t-" (what happens if every dash creates a new component)
|
|
-a- > -a!
|
|
|
|
# Misc
|
|
b1.7.3 > a1.2.6
|
|
b1.2.6 > a1.7.3
|
|
a1.1.2 < a1.1.2_01
|
|
1.16.5-0.00.5 > 1.14.2-1.3.7
|
|
1.0.0 < 1.0.0_01
|
|
1.0.1 > 1.0.0_01
|
|
1.0.0_01 < 1.0.1
|
|
0.17.1-beta.1 < 0.17.1
|
|
0.17.1-beta.1 < 0.17.1-beta.2
|
|
1.4.5_01 = 1.4.5_01+fabric-1.17
|
|
1.4.5_01 = 1.4.5_01+fabric-1.17+ohgod
|
|
14w16a < 18w40b
|
|
18w40a < 18w40b
|
|
1.4.5_01+fabric-1.17 < 18w40b
|
|
13w02a < c0.3.0_01
|
|
0.6.0-1.18.x < 0.9.beta-1.18.x
|
|
|