aboutsummaryrefslogtreecommitdiff
path: root/tests/package-version
diff options
context:
space:
mode:
Diffstat (limited to 'tests/package-version')
-rw-r--r--tests/package-version/driver.cxx135
1 files changed, 58 insertions, 77 deletions
diff --git a/tests/package-version/driver.cxx b/tests/package-version/driver.cxx
index 4925711..f5397c4 100644
--- a/tests/package-version/driver.cxx
+++ b/tests/package-version/driver.cxx
@@ -83,32 +83,31 @@ namespace bpkg
try
{
assert (bad_version ("")); // Empty upstream.
- assert (bad_version ("1~")); // Same.
- assert (bad_version ("1~+3")); // Same.
- assert (bad_version ("+3")); // Same.
- assert (bad_version ("1~-a")); // Same.
- assert (bad_version ("1~-a+3")); // Same.
+ assert (bad_version ("+1-")); // Same.
+ assert (bad_version ("+1-+3")); // Same.
+ assert (bad_version ("+0-+3")); // Same.
+ assert (bad_version ("+1--a")); // Same.
+ assert (bad_version ("+1--a+3")); // Same.
assert (bad_version ("-a+3")); // Same.
- assert (bad_version ("~3.5")); // Empty epoch.
+ assert (bad_version ("+-3.5")); // Empty epoch.
assert (bad_version ("a+")); // Empty revision.
- assert (bad_version ("1~2~4.1+3")); // Extra epoch.
+ assert (bad_version ("+1-+2-4.1+3")); // Extra epoch.
+ assert (bad_version ("1-2-4.1")); // Missed epoch marker.
assert (bad_version ("3.5+1+4")); // Extra revision.
- assert (bad_version ("1~~2+3")); // Duplicated epoch separator.
- assert (bad_version ("1~2++3")); // Duplicated revision separator.
- assert (bad_version ("a.39485739122323231.3")); // Too long component.
- assert (bad_version ("a.00000000000000000.3")); // Too many zeros.
- assert (bad_version ("1-a.00000000000000000")); // Same.
- assert (bad_version ("65536~q.3")); // Too big epoch.
+ assert (bad_version ("++1-2+3")); // Duplicated epoch marker.
+ assert (bad_version ("+1-2++3")); // Duplicated revision separator.
+ assert (bad_version ("+65536-q.3")); // Too big epoch.
assert (bad_version ("1+q+65536")); // Too big revision.
- assert (bad_version ("3.5~1.4")); // Components in epoch.
+ assert (bad_version ("+3.5-1.4")); // Components in epoch.
+ assert (bad_version ("+3+5-1.4")); // Plus in epoch.
assert (bad_version ("3.5+1.4")); // Components in revision.
assert (bad_version ("3 5+1")); // Non alpha-numeric in upstream.
- assert (bad_version ("1~ +3")); // Same.
+ assert (bad_version ("+1- +3")); // Same.
assert (bad_version ("1-3 5+1")); // Non alpha-numeric in release.
- assert (bad_version ("1~1- +3")); // Same.
- assert (bad_version ("3 5~4+1")); // Non alpha-numeric in epoch.
- assert (bad_version ("2b~a")); // Same.
- assert (bad_version ("1~34.1+3 5")); // Non numeric in revision.
+ assert (bad_version ("+1-1- +3")); // Same.
+ assert (bad_version ("+3 5-4+1")); // Non numeric in epoch.
+ assert (bad_version ("+2b-a")); // Same.
+ assert (bad_version ("+1-34.1+3 5")); // Non numeric in revision.
assert (bad_version ("a+3s")); // Same.
assert (bad_version ("a.")); // Not completed upstream.
assert (bad_version ("a..b")); // Empty upstream component.
@@ -119,13 +118,17 @@ namespace bpkg
assert (bad_version ("0.0-")); // Same.
assert (bad_version ("1.2.3+1#1")); // Unexpected iteration.
- assert (bad_version (0, "1", "", 1)); // Revision for empty release.
- assert (bad_version (1, "1~1.1", "", 2)); // Epoch in upstream.
- assert (bad_version (1, "1.1-1", "", 2)); // Release in upstream.
- assert (bad_version (1, "1.1+1", "", 2)); // Revision in upstream.
- assert (bad_version (1, "1", "1~1.1", 2)); // Epoch in release.
- assert (bad_version (1, "1", "1.1-1", 2)); // Release in release.
- assert (bad_version (1, "1", "1.1+1", 2)); // Revision in release.
+ assert (bad_version ("a.39485739122323231.3")); // Too long component.
+ assert (bad_version ("a.00000000000000000.3")); // Too many zeros.
+ assert (bad_version ("1-a.00000000000000000")); // Same.
+
+ assert (bad_version (0, "1", "", 1)); // Revision for empty release.
+ assert (bad_version (1, "+1-1.1", "", 2)); // Epoch in upstream.
+ assert (bad_version (1, "1.1-1", "", 2)); // Release in upstream.
+ assert (bad_version (1, "1.1+1", "", 2)); // Revision in upstream.
+ assert (bad_version (1, "1", "+1-1.1", 2)); // Epoch in release.
+ assert (bad_version (1, "1", "1.1-1", 2)); // Release in release.
+ assert (bad_version (1, "1", "1.1+1", 2)); // Revision in release.
assert (bad_version (1, "", "", 0)); // Unexpected epoch.
assert (bad_version (0, "", "1", 0)); // Unexpected release.
@@ -145,108 +148,93 @@ namespace bpkg
assert (v1 != v2);
}
-
{
- version v ("1~0.0-");
+ version v ("+1-0.0-");
assert (!v.empty ());
- assert (v.string () == "1~0.0-");
+ assert (v.string () == "+1-0.0-");
assert (v.canonical_upstream.empty ());
assert (v.canonical_release.empty ());
assert (test_constructor (v));
}
-
{
version v ("a");
assert (v.string () == "a");
assert (v.canonical_upstream == "a");
assert (test_constructor (v));
}
-
{
- version v ("65534~ab+65535");
- assert (v.string () == "65534~ab+65535");
+ version v ("+65534-ab+65535");
+ assert (v.string () == "+65534-ab+65535");
assert (v.canonical_upstream == "ab");
assert (test_constructor (v));
}
-
{
version v ("1");
assert (v.string () == "1");
assert (v.canonical_upstream == "0000000000000001");
assert (test_constructor (v));
}
-
{
version v ("0");
assert (v.string () == "0");
assert (v.canonical_upstream.empty ());
assert (test_constructor (v));
}
-
{
version v ("0.0.0");
assert (v.string () == "0.0.0");
assert (v.canonical_upstream.empty ());
assert (test_constructor (v));
}
-
{
version v ("1.0.0");
assert (v.string () == "1.0.0");
assert (v.canonical_upstream == "0000000000000001");
assert (test_constructor (v));
}
-
{
version v ("0.1.00");
assert (v.string () == "0.1.00");
assert (v.canonical_upstream == "0000000000000000.0000000000000001");
assert (test_constructor (v));
}
-
{
version v ("0.0a.00");
assert (v.string () == "0.0a.00");
assert (v.canonical_upstream == "0000000000000000.0a");
assert (test_constructor (v));
}
-
{
version v ("0.a00.00");
assert (v.string () == "0.a00.00");
assert (v.canonical_upstream == "0000000000000000.a00");
assert (test_constructor (v));
}
-
{
- version v ("1~0");
- assert (v.string () == "1~0");
+ version v ("+1-0");
+ assert (v.string () == "+1-0");
assert (v.canonical_upstream.empty ());
assert (test_constructor (v));
}
-
{
- version v ("0~A+1");
+ version v ("+0-A+1");
assert (v.string () == "A+1");
assert (v.canonical_upstream == "a");
assert (test_constructor (v));
}
-
{
- version v ("10~B+0");
- assert (v.string () == "10~B");
+ version v ("+10-B+0");
+ assert (v.string () == "+10-B");
assert (v.canonical_upstream == "b");
assert (test_constructor (v));
}
-
{
- version v ("3~1A.31.0.4.0+7");
- assert (v.string () == "3~1A.31.0.4.0+7");
+ version v ("+3-1A.31.0.4.0+7");
+ assert (v.string () == "+3-1A.31.0.4.0+7");
assert (v.canonical_upstream ==
"1a.0000000000000031.0000000000000000.0000000000000004");
assert (test_constructor (v));
}
-
{
version v ("1.2.3");
assert (v.string () == "1.2.3");
@@ -254,7 +242,6 @@ namespace bpkg
assert (v.canonical_release == "~");
assert (test_constructor (v));
}
-
{
version v ("1.2.3+1");
assert (v.string () == "1.2.3+1");
@@ -262,7 +249,6 @@ namespace bpkg
assert (v.canonical_release == "~");
assert (test_constructor (v));
}
-
{
version v ("1.2.3-");
assert (v.string () == "1.2.3-");
@@ -270,48 +256,43 @@ namespace bpkg
assert (v.canonical_release.empty ());
assert (test_constructor (v));
}
-
{
- version v ("1~A-1.2.3B.00+0");
- assert (v.string () == "1~A-1.2.3B.00");
+ version v ("+1-A-1.2.3B.00+0");
+ assert (v.string () == "+1-A-1.2.3B.00");
assert (v.release && *v.release == "1.2.3B.00");
assert (v.canonical_release == "0000000000000001.0000000000000002.3b");
assert (test_constructor (v));
}
-
{
- version v ("65535~q.3+65535");
- assert (v.string () == "65535~q.3+65535");
+ version v ("+65535-q.3+65535");
+ assert (v.string () == "+65535-q.3+65535");
assert (!v.release);
assert (v.canonical_release == "~");
assert (test_constructor (v));
}
-
{
version v (1, "1", nullopt, 2, 0);
- assert (v.string () == "1~1+2");
+ assert (v.string () == "+1-1+2");
assert (!v.release);
assert (v.canonical_release == "~");
assert (test_constructor (v));
}
-
{
version v (1, "1", string (), 0, 0);
- assert (v.string () == "1~1-");
+ assert (v.string () == "+1-1-");
assert (v.release && v.release->empty ());
assert (v.canonical_release.empty ());
assert (test_constructor (v));
}
-
{
version v (1, "2.0", nullopt, 3, 4);
- assert (v.string (false, false) == "1~2.0+3#4");
- assert (v.string (true, true) == "1~2.0");
- assert (v.string (true, false) == "1~2.0");
- assert (v.string (false, true) == "1~2.0+3");
+ assert (v.string (false, false) == "+1-2.0+3#4");
+ assert (v.string (true, true) == "+1-2.0");
+ assert (v.string (true, false) == "+1-2.0");
+ assert (v.string (false, true) == "+1-2.0+3");
- assert (version (1, "2.0", nullopt, 0, 3).string () == "1~2.0#3");
- assert (version (1, "2.0", nullopt, 3, 0).string () == "1~2.0+3");
+ assert (version (1, "2.0", nullopt, 0, 3).string () == "+1-2.0#3");
+ assert (version (1, "2.0", nullopt, 3, 0).string () == "+1-2.0+3");
}
assert (version ("a") == version ("a"));
@@ -323,11 +304,11 @@ namespace bpkg
assert (version ("ac") < version ("bc"));
assert (version ("ab+0") == version ("ab"));
assert (version ("a.1+1") > version ("a.1"));
- assert (version ("0~ab") == version ("ab"));
+ assert (version ("+0-ab") == version ("ab"));
assert (version ("1.2") > version ("1.1"));
- assert (version ("1~1.0") > version ("2.0"));
- assert (version ("0~ab+1") == version ("ab+1"));
- assert (version ("0~ab+1").compare (version ("0~ab+2"), true) == 0);
+ assert (version ("+1-1.0") > version ("2.0"));
+ assert (version ("+0-ab+1") == version ("ab+1"));
+ assert (version ("+0-ab+1").compare (version ("+0-ab+2"), true) == 0);
assert (version ("12") > version ("2"));
assert (version ("2") < version ("12"));
assert (version ("1") == version ("01"));
@@ -354,8 +335,8 @@ namespace bpkg
assert (version ("1.0-alpha") > version ("1.0-1"));
assert (version ("1.0-alpha") == version ("1.0-alpha.0"));
- assert (version (1, "2.0", nullopt, 3, 0) == version ("1~2+3"));
- assert (version (1, "2.0", string (), 0, 0) == version ("1~2-"));
+ assert (version (1, "2.0", nullopt, 3, 0) == version ("+1-2+3"));
+ assert (version (1, "2.0", string (), 0, 0) == version ("+1-2-"));
assert (version (0, "", string (), 0, 0) == version ());
assert (version (1, "2.0", nullopt, 3, 4).compare (