. tap.sh
+# 18 vtests, 3 least, 3 greatest, 2 other, 3 temp handling
+# 18 * 6 + 3 + 3
+plan 117
+
+require rm -rf tmp
+require mkdir tmp
+
vtest() {
res=$(zpm-vercmp "$1" "$2")
okstreq "$res" -1 "$1 < $2"
+
res=$(zpm-vercmp "$2" "$1")
okstreq "$res" 1 "$2 > $1"
+
res=$(zpm-vercmp "$1" "$1")
okstreq "$res" 0 "$1 == $1"
+
+ res=$(zpm shell vercmp.db "select '$1' < '$2' collate vercmp")
+ okstreq "$res" 1 "zpm shell $1 < $2"
+ res=$(zpm shell vercmp.db "select '$1' > '$2' collate vercmp")
+ okstreq "$res" 0 "zpm shell not $1 > $2"
+ res=$(zpm shell vercmp.db "select '$1' = '$1' collate vercmp")
+ okstreq "$res" 1 "zpm shell $1 = $1"
}
-plan 45
+least() {
+ want=$1
+ shift
+ l=$(zpm vercmp -L "$@")
+ okstreq "$l" "$want" "least $*"
+}
+
+greatest() {
+ want=$1
+ shift
+ g=$(zpm vercmp -G "$@")
+ okstreq "$g" "$want" "greatest $*"
+}
+
+least 1.0a 1.0a 1.0b
+least 1.0a 1.0b 1.0a
+greatest z a b z
+greatest z a z b
+least abc abc
+greatest abc abc
+
+#zpm vercmp -gq 'gnupg-1.0-1' "gnupg-2.0-1"
+#exitwith 1 vercmp -g not gt
+
+#zpm vercmp -gq 'gnupg-2.0-1' "gnupg-1.0-1"
+#exitwith 0 vercmp -g is gt
# alpha
vtest 1.0a 1.0b
vtest 1.0beta 1.0p
vtest 1.0p 1.0pre
vtest 1.0pre 1.0rc
-vtest 1.0rc 1.0
+
+vtest 1.0 1.0rc
vtest 1.0 1.0.a
vtest 1.0.a 1.0.1
vtest 1 1.0
vtest 1.0 1.1
+
vtest 1.1 1.1.1
vtest 1.2 2.0
vtest 2.0 3.0.0
vtest 1.0-1 1.0-2
vtest 1.0-2 2.0-1
+# full
+vtest ffmpeg-4.1-3 ffmpeg-4.1.1-1
+vtest 4.1-3 4.1.1-1
+vtest 'pcre-8.42-2' 'pcre-8.43-1'
+
+require rm -rf tmp
finish