diff options
Diffstat (limited to 'stoc')
-rw-r--r-- | stoc/test/uriproc/test_uriproc.cxx | 656 |
1 files changed, 338 insertions, 318 deletions
diff --git a/stoc/test/uriproc/test_uriproc.cxx b/stoc/test/uriproc/test_uriproc.cxx index f30913c2841f..918cd1af1a15 100644 --- a/stoc/test/uriproc/test_uriproc.cxx +++ b/stoc/test/uriproc/test_uriproc.cxx @@ -39,6 +39,7 @@ #include <rtl/string.h> #include <rtl/string.hxx> #include <rtl/textenc.h> +#include <rtl/uri.hxx> #include <rtl/ustrbuf.hxx> #include <rtl/ustring.hxx> #include <sal/types.h> @@ -295,58 +296,58 @@ void Test::testMakeAbsolute() { Data data[] = { // The following tests are taken from RFC 3986, Section 5.4: { "http://a/b/c/d;p?q", "g:h", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "g:h" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "g:h" }, { "http://a/b/c/d;p?q", "g", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/c/g" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g" }, { "http://a/b/c/d;p?q", "./g", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/c/g" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g" }, { "http://a/b/c/d;p?q", "g/", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/c/g/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g/" }, { "http://a/b/c/d;p?q", "/g", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/g" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/g" }, { "http://a/b/c/d;p?q", "//g", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://g" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://g" }, { "http://a/b/c/d;p?q", "?y", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/c/d;p?y" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/d;p?y" }, { "http://a/b/c/d;p?q", "g?y", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g?y" }, { "http://a/b/c/d;p?q", "#s", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/d;p?q#s" }, { "http://a/b/c/d;p?q", "g#s", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g#s" }, { "http://a/b/c/d;p?q", "g?y#s", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g?y#s" }, { "http://a/b/c/d;p?q", ";x", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/c/;x" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/;x" }, { "http://a/b/c/d;p?q", "g;x", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g;x" }, { "http://a/b/c/d;p?q", "g;x?y#s", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g;x?y#s" }, { "http://a/b/c/d;p?q", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/d;p?q" }, { "http://a/b/c/d;p?q", ".", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/c/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/" }, { "http://a/b/c/d;p?q", "./", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/c/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/" }, { "http://a/b/c/d;p?q", "..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/" }, { "http://a/b/c/d;p?q", "../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/" }, { "http://a/b/c/d;p?q", "../g", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/g" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/g" }, { "http://a/b/c/d;p?q", "../..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/" }, { "http://a/b/c/d;p?q", "../../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/" }, { "http://a/b/c/d;p?q", "../../g", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/g" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/g" }, { "http://a/b/c/d;p?q", "../../../g", true, css::uri::RelativeUriExcessParentSegments_ERROR, nullptr }, { "http://a/b/c/d;p?q", "../../../g", true, @@ -361,7 +362,7 @@ void Test::testMakeAbsolute() { { "http://a/b/c/d;p?q", "../../../../g", true, css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/g" }, { "http://a/b/c/d;p?q", "/./g", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/g" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/g" }, { "http://a/b/c/d;p?q", "/../g", true, css::uri::RelativeUriExcessParentSegments_ERROR, nullptr }, { "http://a/b/c/d;p?q", "/../g", true, @@ -369,615 +370,615 @@ void Test::testMakeAbsolute() { { "http://a/b/c/d;p?q", "/../g", true, css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/g" }, { "http://a/b/c/d;p?q", "g.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/c/g." }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g." }, { "http://a/b/c/d;p?q", ".g", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/c/.g" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/.g" }, { "http://a/b/c/d;p?q", "g..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g.." }, { "http://a/b/c/d;p?q", "..g", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/..g" }, { "http://a/b/c/d;p?q", "./../g", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/g" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/g" }, { "http://a/b/c/d;p?q", "./g/.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/c/g/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g/" }, { "http://a/b/c/d;p?q", "g/./h", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g/h" }, { "http://a/b/c/d;p?q", "g/../h", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/c/h" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/h" }, { "http://a/b/c/d;p?q", "g;x=1/./y", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g;x=1/y" }, { "http://a/b/c/d;p?q", "g;x=1/../y", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http://a/b/c/y" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/y" }, { "http://a/b/c/d;p?q", "g?y/./x", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g?y/./x" }, { "http://a/b/c/d;p?q", "g?y/../x", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g?y/../x" }, { "http://a/b/c/d;p?q", "g#s/./x", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g#s/./x" }, { "http://a/b/c/d;p?q", "g#s/../x", true, - css::uri::RelativeUriExcessParentSegments_ERROR, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http://a/b/c/g#s/../x" }, { "http://a/b/c/d;p?q", "http:g", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "http:g" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "http:g" }, { "scheme:", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:" }, { "scheme:", ".", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:" }, { "scheme:", "./", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:" }, { "scheme:", "./.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:" }, { "scheme:", "././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:" }, { "scheme:", "././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:" }, { "scheme:", "x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:", "x/../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:", "x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:", "x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:", "x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:", "x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:", "x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:", "./x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:", "././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:", "./././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:", "./x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:", "./x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:", "././x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:", "././x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:", "./././x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme://a", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a" }, { "scheme://a", ".", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "./", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "./.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "x/../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "./x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "./././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "./x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "./x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "././x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "././x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a", "./././x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", ".", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "./", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "./.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "x/../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "./x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "./././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "./x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "./x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "././x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "././x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/", "./././x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b" }, { "scheme://a/b", ".", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "./", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "./.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "x/../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "./x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "./././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "./x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "./x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "././x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "././x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b", "./././x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/" }, { "scheme://a/b/", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", ".", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "./", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "./.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "x/../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "./x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "./././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "./x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "./x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "././x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "././x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme://a/b/", "./././x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a/b/" }, { "scheme:a", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a" }, { "scheme:a", ".", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:" }, { "scheme:a", "./", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:" }, { "scheme:a", "./.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:" }, { "scheme:a", "././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:" }, { "scheme:a", "././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:" }, { "scheme:a", "x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a", "x/../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a", "x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a", "x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a", "x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a", "x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a", "x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a", "./x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a", "././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a", "./././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a", "./x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a", "./x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a", "././x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a", "././x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a", "./././x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:a/", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", ".", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "./", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "./.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "x/../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "./x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "./././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "./x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "./x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "././x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "././x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/", "./././x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b" }, { "scheme:a/b", ".", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "./", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "./.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "x/../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "./x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "./././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "./x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "./x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "././x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "././x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b", "./././x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/" }, { "scheme:a/b/", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", ".", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "./", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "./.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "x/../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "./x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "./././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "./x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "./x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "././x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "././x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:a/b/", "./././x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:a/b/" }, { "scheme:/a", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a" }, { "scheme:/a", ".", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "./", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "./.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "x/../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "./x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "./././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "./x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "./x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "././x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "././x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a", "./././x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/" }, { "scheme:/a/", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", ".", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "./", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "./.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "x/../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "./x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "./././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "./x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "./x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "././x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "././x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/", "./././x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b" }, { "scheme:/a/b", ".", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "./", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "./.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "x/../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "./x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "./././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "./x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "./x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "././x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "././x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b", "./././x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/" }, { "scheme:/a/b/", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", ".", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "./", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "./.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "x/../", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "./x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "./././x/..", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "./x/../.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "./x/.././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "././x/.././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "././x/../././", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme:/a/b/", "./././x/../././.", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme:/a/b/" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme:/a/b/" }, { "scheme://a#s", "", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a" }, { "scheme://a", "?q", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a?q" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a?q" }, { "scheme://a#s", "?q", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a?q" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a?q" }, { "scheme://a", "#s", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a#s" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a#s" }, { "scheme://a#s1", "#s2", true, - css::uri::RelativeUriExcessParentSegments_ERROR, "scheme://a#s2" }, + css::uri::RelativeUriExcessParentSegments_REMOVE, "scheme://a#s2" }, - { "schema://a", "schema://b/c/../d", true, css::uri::RelativeUriExcessParentSegments_ERROR, + { "schema://a", "schema://b/c/../d", true, css::uri::RelativeUriExcessParentSegments_REMOVE, "schema://b/d" } }; for (std::size_t i = 0; i < SAL_N_ELEMENTS(data); ++i) { css::uno::Reference< css::uri::XUriReference > baseUriRef( @@ -1001,6 +1002,25 @@ void Test::testMakeAbsolute() { OUString::createFromAscii(data[i].absolute), absolute->getUriReference()); } + // For those test cases that conform to RFC 3986, check that the behavior matches + // rtl::Uri::convertRelToAbs: + if (data[i].processSpecialBaseSegments + && data[i].excessParentSegments == css::uri::RelativeUriExcessParentSegments_REMOVE) + { + try { + auto const absolute2 = rtl::Uri::convertRelToAbs( + OUString::createFromAscii(data[i].baseUriReference), + OUString::createFromAscii(data[i].uriReference)); + TEST_ASSERT_EQUAL( + "testMakeAbsolute", i, data[i].uriReference, true, data[i].absolute != nullptr); + TEST_ASSERT_EQUAL( + "testMakeAbsolute", i, data[i].uriReference, + OUString::createFromAscii(data[i].absolute), absolute2); + } catch (rtl::MalformedUriException &) { + TEST_ASSERT_EQUAL( + "testMakeAbsolute", i, data[i].uriReference, true, data[i].absolute == nullptr); + } + } } } |