summaryrefslogtreecommitdiff
path: root/stoc
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2019-08-21 17:36:28 +0200
committerStephan Bergmann <sbergman@redhat.com>2019-08-23 14:47:25 +0200
commit6f2bada24a059a9a5f24195496d2adb50c276d33 (patch)
tree19fff2e29f5e20e2d69d05523a819937f62001d0 /stoc
parent5bbf9ca7ccb60c9d90f2cabbe4be4962329fda61 (diff)
Check that XUriReferenceFactory.makeAbsolute matches rtl::Uri::convertRelToAbs
Change-Id: I7fefdc7ca23a2f505944288c30c820ef70da14ae Reviewed-on: https://gerrit.libreoffice.org/77942 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'stoc')
-rw-r--r--stoc/test/uriproc/test_uriproc.cxx656
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);
+ }
+ }
}
}