diff options
author | hisham <hisham@9ca3f7c1-7366-0410-b1a3-b5c78f85698c> | 2009-04-01 17:11:57 +0000 |
---|---|---|
committer | hisham <hisham@9ca3f7c1-7366-0410-b1a3-b5c78f85698c> | 2009-04-01 17:11:57 +0000 |
commit | a88d6f2eeba2b3355c33fac6d736cf6086342f47 (patch) | |
tree | 03ebfa0ced0186e091609cf337e290580fab8c11 /test/test_deps.lua | |
download | luarocks-a88d6f2eeba2b3355c33fac6d736cf6086342f47.tar.gz luarocks-a88d6f2eeba2b3355c33fac6d736cf6086342f47.tar.bz2 luarocks-a88d6f2eeba2b3355c33fac6d736cf6086342f47.zip |
Import latest revision from CVS at luaforge.netv1.0v0.5.2v0.5.1v0.5v0.4.3v0.4.2v0.4.1v0.4v0.3.2v0.3.1v0.3v0.2v0.1
git-svn-id: http://luarocks.org/svn/luarocks/trunk@1 9ca3f7c1-7366-0410-b1a3-b5c78f85698c
Diffstat (limited to 'test/test_deps.lua')
-rw-r--r-- | test/test_deps.lua | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/test/test_deps.lua b/test/test_deps.lua new file mode 100644 index 00000000..7236273c --- /dev/null +++ b/test/test_deps.lua | |||
@@ -0,0 +1,67 @@ | |||
1 | #!/usr/bin/env lua | ||
2 | |||
3 | deps = require "luarocks.deps" | ||
4 | |||
5 | print(deps.show_dep(deps.parse_dep("lfs 2.1.9pre5"), true)) | ||
6 | print(deps.show_dep(deps.parse_dep("cgilua cvs-2"), true)) | ||
7 | print(deps.show_dep(deps.parse_dep("foobar 0.0.1beta"), true)) | ||
8 | print(deps.show_dep(deps.parse_dep("foobar 0.0.1a"), true)) | ||
9 | |||
10 | print(deps.show_dep(deps.parse_dep("foobar 1"), true)) | ||
11 | print(deps.show_dep(deps.parse_dep("foobar 2.0"), true)) | ||
12 | print(deps.show_dep(deps.parse_dep("foobar 3.5a4"), true)) | ||
13 | print(deps.show_dep(deps.parse_dep("foobar 1.1pre2"), true)) | ||
14 | print(deps.show_dep(deps.parse_dep("foobar 2.0-beta3"), true)) | ||
15 | print(deps.show_dep(deps.parse_dep("foobar 5.3"), true)) | ||
16 | print(deps.show_dep(deps.parse_dep("foobar 3.5rc2"), true)) | ||
17 | print(deps.show_dep(deps.parse_dep("foobar 4.19p"), true)) | ||
18 | |||
19 | print() | ||
20 | comparisons = { | ||
21 | -- first second eq le | ||
22 | {"Vista", "XP", false, true}, | ||
23 | {"XP", "3.1", false, true}, | ||
24 | {"1.0", "1.0", true, false}, | ||
25 | {"2.2.10", "2.2-10", false, false}, | ||
26 | {"2.2", "2.2-10", true, false}, | ||
27 | {"1.0beta1", "1.0rc3", false, true}, | ||
28 | {"2.0beta3", "2.0", false, true}, | ||
29 | {"2.0beta", "2.0beta2", false, true}, | ||
30 | {"2.0beta4", "2.0beta3", false, false}, | ||
31 | {"2.1alpha1", "2.0beta1", false, false}, | ||
32 | {"1.5p3", "1.5.1", false, true}, | ||
33 | {"1.1.3", "1.1.3a", false, true}, | ||
34 | {"1.5a100", "1.5b1", false, true}, | ||
35 | {"2.0alpha100", "2.0beta1", false, true}, | ||
36 | {"2.0.0beta3", "2.0beta2", false, false}, | ||
37 | {"2.0-1", "2.0-2", false, true}, | ||
38 | {"2.0-2", "2.0-1", false, false}, | ||
39 | --[[ | ||
40 | -- Corner cases I don't wish to handle by now. | ||
41 | {"2.0.0beta2", "2.0beta2", true, true}, | ||
42 | {"2.0.0beta2", "2.0beta3", false, true}, | ||
43 | ]] | ||
44 | } | ||
45 | |||
46 | local v1, v2 | ||
47 | |||
48 | err = false | ||
49 | |||
50 | function result(test, expected) | ||
51 | if test == expected then | ||
52 | print(test, "OK") | ||
53 | else | ||
54 | print(test, "ERROR", deps.show_version(v1, true), deps.show_version(v2, true)) | ||
55 | err = true | ||
56 | end | ||
57 | end | ||
58 | |||
59 | for _, c in ipairs(comparisons) do | ||
60 | v1, v2 = deps.parse_version(c[1]), deps.parse_version(c[2]) | ||
61 | print(c[1].." == "..c[2].." ?") | ||
62 | result(v1 == v2, c[3]) | ||
63 | print(c[1].." < "..c[2].." ?") | ||
64 | result(v1 < v2, c[4]) | ||
65 | end | ||
66 | |||
67 | if err then os.exit(1) end | ||