summaryrefslogtreecommitdiff
path: root/tests/modules
diff options
context:
space:
mode:
authorruki <[email protected]>2020-02-06 23:17:02 +0800
committerruki <[email protected]>2020-02-06 13:42:16 +0800
commitc1262215a240eefc46a97b88ec3086e0c55947e3 (patch)
tree28fa7055f874028a37341f7986e49707be68c10b /tests/modules
parent77f79dd72801215d403b1a5a7b7a130c68bd4e2b (diff)
improve semver and find_programver
Diffstat (limited to 'tests/modules')
-rwxr-xr-xtests/modules/semver/test.lua43
1 files changed, 27 insertions, 16 deletions
diff --git a/tests/modules/semver/test.lua b/tests/modules/semver/test.lua
index 3a7049c9a..f39f3acde 100755
--- a/tests/modules/semver/test.lua
+++ b/tests/modules/semver/test.lua
@@ -1,10 +1,7 @@
--- imports
import("core.base.semver")
-- select version
function _check_semver_select(t, results, required_ver, versions, tags, branches)
-
- -- select it
local version, source = semver.select(required_ver, versions or {}, tags or {}, branches or {})
t:are_equal((version.version or version), results[1])
t:are_equal(source, results[2])
@@ -34,8 +31,6 @@ end
-- select version
function _check_semver_satisfies(t, expected, version, range)
-
- -- select it
local result = semver.satisfies(version, range)
t:are_equal(result, expected)
end
@@ -51,21 +46,29 @@ function test_semver_satisfies(t)
_check_semver_satisfies(t, false, "1.6.1", "~1.5.0")
_check_semver_satisfies(t, false, "2.5.1", "^1.5.0")
_check_semver_satisfies(t, false, "1.4.1", ">=1.5.0 <1.6.0")
-
end
-- parse version
function _check_semver_parse(t, version_str, major, minor, patch, prerelease, build)
+ local version = semver.new(version_str)
+ t:require(version)
+ t:are_equal(version:major(), major)
+ t:are_equal(version:minor(), minor)
+ t:are_equal(version:patch(), patch)
+ t:are_equal(version:prerelease(), prerelease or {})
+ t:are_equal(version:build(), build or {})
+end
- -- create it
- local version = semver.parse(version_str)
-
- t:are_equal(version.major, major)
- t:are_equal(version.minor, minor)
- t:are_equal(version.patch, patch)
- t:are_equal(version.prerelease, prerelease or {})
- t:are_equal(version.build, build or {})
-
+-- match version
+function _check_semver_match(t, str, version_str, major, minor, patch, prerelease, build)
+ local version = semver.match(str)
+ t:require(version)
+ t:are_equal(version:rawstr(), version_str)
+ t:are_equal(version:major(), major)
+ t:are_equal(version:minor(), minor)
+ t:are_equal(version:patch(), patch)
+ t:are_equal(version:prerelease(), prerelease or {})
+ t:are_equal(version:build(), build or {})
end
-- test parse version
@@ -76,5 +79,13 @@ function test_semver_parse(t)
_check_semver_parse(t, "1.2.3-beta+77", 1, 2, 3, {"beta"}, {77})
_check_semver_parse(t, "v1.2.3-alpha.1+77", 1, 2, 3, {"alpha", 1}, {77})
_check_semver_parse(t, "v3.2.1-alpha.1+77.foo", 3, 2, 1, {"alpha", 1}, {77, "foo"})
+end
-end \ No newline at end of file
+-- test match version string
+function test_semver_match(t)
+ _check_semver_match(t, "gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0", "7.4.0-1ubuntu1", 7, 4, 0, {"1ubuntu1"})
+ _check_semver_match(t, "gcc (i686-posix-dwarf-rev0, Built by MinGW-W64 project) 8.1.0", "8.1.0", 8, 1, 0)
+ _check_semver_match(t, "DMD64 D Compiler v2.090.0", "2.090.0", 2, 90, 0)
+ _check_semver_match(t, "Apple clang version 11.0.0 (clang-1100.0.33.12)", "11.0.0", 11, 0, 0)
+ _check_semver_match(t, "curl 7.54.0 (x86_64-apple-darwin18.0) libcurl/7.54.0 LibreSSL/2.6.5 zlib/1.2.11 nghttp2/1.24.1", "7.54.0", 7, 54, 0)
+end