aboutsummaryrefslogtreecommitdiff
path: root/tests/repository-location/driver.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'tests/repository-location/driver.cxx')
-rw-r--r--tests/repository-location/driver.cxx29
1 files changed, 28 insertions, 1 deletions
diff --git a/tests/repository-location/driver.cxx b/tests/repository-location/driver.cxx
index 441e295..6b4a1d7 100644
--- a/tests/repository-location/driver.cxx
+++ b/tests/repository-location/driver.cxx
@@ -133,7 +133,6 @@ main (int argc, char* argv[])
assert (bad_location ("1/.."));
assert (bad_location ("bbb"));
assert (bad_location ("aaa/bbb"));
- assert (bad_location ("/aaa/bbb"));
assert (bad_location ("http://aa"));
assert (bad_location ("https://aa"));
assert (bad_location ("http://aa/"));
@@ -143,6 +142,12 @@ main (int argc, char* argv[])
assert (bad_location ("http://a.com/../c/1/aa"));
assert (bad_location ("http://a.com/a/b/../../../c/1/aa"));
+#ifndef _WIN32
+ assert (bad_location ("/aaa/bbb"));
+#else
+ assert (bad_location ("c:\\aaa\\bbb"));
+#endif
+
// Invalid version.
//
assert (bad_location ("3/aaa/bbb"));
@@ -159,6 +164,11 @@ main (int argc, char* argv[])
repository_location (
"http://stable.cppget.org/1/misc")));
+
+ assert (bad_location ("../..",
+ repository_location (
+ "http://stable.cppget.org/1/misc")));
+
// Invalid web interface URL.
//
assert (bad_url (".a/..",
@@ -225,6 +235,11 @@ main (int argc, char* argv[])
assert (l.string () == "b/pkg/1/aa/bb");
assert (l.canonical_name ().empty ());
}
+ {
+ repository_location l ("aa/..", repository_location ());
+ assert (l.string () == ".");
+ assert (l.canonical_name ().empty ());
+ }
#ifndef _WIN32
{
repository_location l ("/1/aa/bb", repository_location ());
@@ -427,6 +442,18 @@ main (int argc, char* argv[])
assert (l2.canonical_name () == "stable.cppget.org/math");
}
{
+ repository_location l1 ("http://stable.cppget.org/1/misc");
+ repository_location l2 ("math/..", l1);
+ assert (l2.string () == "http://stable.cppget.org/1/misc");
+ assert (l2.canonical_name () == "stable.cppget.org/misc");
+ }
+ {
+ repository_location l1 ("http://stable.cppget.org/1/misc");
+ repository_location l2 (".", l1);
+ assert (l2.string () == "http://stable.cppget.org/1/misc");
+ assert (l2.canonical_name () == "stable.cppget.org/misc");
+ }
+ {
repository_location l1 ("http://www.stable.cppget.org:8080/1");
repository_location l2 ("../1/math", l1);
assert (l2.string () == "http://www.stable.cppget.org:8080/1/math");