diff options
author | Rüdiger Timm <rt@openoffice.org> | 2004-09-20 10:58:38 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2004-09-20 10:58:38 +0000 |
commit | b04f8295ea87626004a4429144e8159aaaba65ae (patch) | |
tree | 86937de72affab22703d8081ead0aae5f86bbc3c /tools/workben | |
parent | c3ecef8067e274d017a344b4c8049cd5f49c6729 (diff) |
INTEGRATION: CWS fwk01ea (1.20.4); FILE MERGED
2004/07/08 15:29:43 abi 1.20.4.5: RESYNC: (1.21-1.22); FILE MERGED
2004/04/27 14:44:40 abi 1.20.4.4: RESYNC: (1.20-1.21); FILE MERGED
2004/04/08 08:37:52 sb 1.20.4.3: #116269# Fixed problem with schemes where PrefixInfo::m_pPrefix contains more than scheme:.
2004/04/07 08:09:47 sb 1.20.4.2: #116269# Renamed INET_PROT_UNKNOWN to INET_PROT_GENERIC.
2004/04/06 13:25:54 sb 1.20.4.1: #116269# Added INET_PROT_UNKNOWN.
Diffstat (limited to 'tools/workben')
-rw-r--r-- | tools/workben/urltest.cxx | 142 |
1 files changed, 138 insertions, 4 deletions
diff --git a/tools/workben/urltest.cxx b/tools/workben/urltest.cxx index 337eb1da3c7f..39b0a0b007e2 100644 --- a/tools/workben/urltest.cxx +++ b/tools/workben/urltest.cxx @@ -2,9 +2,9 @@ * * $RCSfile: urltest.cxx,v $ * - * $Revision: 1.22 $ + * $Revision: 1.23 $ * - * last change: $Author: rt $ $Date: 2004-06-17 11:33:09 $ + * last change: $Author: rt $ $Date: 2004-09-20 11:58:38 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -94,10 +94,33 @@ #include <cstddef> #include <cstdlib> +#include <iostream> +#include <ostream> #include <stdio.h> using namespace com::sun; +std::ostream & operator <<(std::ostream & out, rtl::OUString const & value) { + out << rtl::OUStringToOString(value, RTL_TEXTENCODING_ASCII_US).getStr(); + return out; +} + +namespace { + +template< typename T > bool assertEqual( + rtl::OUString const & message, T const & expected, T const & actual) +{ + bool success = expected == actual; + if (!success) { + std::cout + << "FAILED " << message << ": " << expected << " != " << actual + << '\n'; + } + return success; +} + +} + //============================================================================ // // testRelToAbs @@ -1297,7 +1320,7 @@ main() if (true) { // #112130# INetURLObject url1(rtl::OUString::createFromAscii(".uno:abc%3Fdef")); - if (!url1.GetProtocol() == INET_PROT_UNO) { + if (url1.GetProtocol() != INET_PROT_UNO) { printf("BAD .uno:abc%3Fdef\n"); bSuccess = false; } @@ -1315,7 +1338,7 @@ main() bSuccess = false; } INetURLObject url2(rtl::OUString::createFromAscii(".uno:abc?def?ghi")); - if (!url2.GetProtocol() == INET_PROT_UNO) { + if (url2.GetProtocol() != INET_PROT_UNO) { printf("BAD .uno:abc?def?ghi\n"); bSuccess = false; } @@ -1343,5 +1366,116 @@ main() } } + if (true) { // #116269# + rtl::OUString url; + INetURLObject urlobj; + + url = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("A-b.3:/%2f?x#y")); + urlobj = INetURLObject(url); + bSuccess &= assertEqual(url, INET_PROT_GENERIC, urlobj.GetProtocol()); + bSuccess &= assertEqual( + url, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("a-b.3:/%2F?x#y")), + rtl::OUString(urlobj.GetMainURL(INetURLObject::NO_DECODE))); + bSuccess &= assertEqual(url, false, urlobj.HasUserData()); + bSuccess &= assertEqual(url, false, urlobj.hasPassword()); + bSuccess &= assertEqual(url, false, urlobj.HasPort()); + bSuccess &= assertEqual( + url, rtl::OUString(), rtl::OUString(urlobj.GetHost())); + bSuccess &= assertEqual( + url, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/%2F?x")), + rtl::OUString(urlobj.GetURLPath())); + bSuccess &= assertEqual(url, false, urlobj.HasParam()); + bSuccess &= assertEqual(url, true, urlobj.HasMark()); + bSuccess &= assertEqual( + url, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("y")), + rtl::OUString(urlobj.GetMark())); + + url = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("foo:")); + urlobj = INetURLObject(url); + bSuccess &= assertEqual(url, true, urlobj.HasError()); + + url = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("foo:#")); + urlobj = INetURLObject(url); + bSuccess &= assertEqual(url, true, urlobj.HasError()); + + url = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("foo:/")); + urlobj = INetURLObject(url); + bSuccess &= assertEqual(url, INET_PROT_GENERIC, urlobj.GetProtocol()); + bSuccess &= assertEqual( + url, url, + rtl::OUString(urlobj.GetMainURL(INetURLObject::NO_DECODE))); + + url = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(".foo:/")); + urlobj = INetURLObject(url); + bSuccess &= assertEqual(url, true, urlobj.HasError()); + + url = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("C:\\bla")); + urlobj = INetURLObject(url); + bSuccess &= assertEqual(url, INET_PROT_GENERIC, urlobj.GetProtocol()); + bSuccess &= assertEqual( + url, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("c:%5Cbla")), + rtl::OUString(urlobj.GetMainURL(INetURLObject::NO_DECODE))); + + url = rtl::OUString( + RTL_CONSTASCII_USTRINGPARAM("private:factory/swriter")); + urlobj = INetURLObject(url); + bSuccess &= assertEqual( + url, INET_PROT_PRIV_SOFFICE, urlobj.GetProtocol()); + bSuccess &= assertEqual( + url, url, + rtl::OUString(urlobj.GetMainURL(INetURLObject::NO_DECODE))); + + url = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("A-b.3:/%2f?x#y")); + urlobj = INetURLObject(url, INET_PROT_CID); + bSuccess &= assertEqual(url, INET_PROT_GENERIC, urlobj.GetProtocol()); + bSuccess &= assertEqual( + url, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("a-b.3:/%2F?x#y")), + rtl::OUString(urlobj.GetMainURL(INetURLObject::NO_DECODE))); + + url = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("foo:")); + urlobj = INetURLObject(url, INET_PROT_CID); + bSuccess &= assertEqual(url, INET_PROT_CID, urlobj.GetProtocol()); + bSuccess &= assertEqual( + url, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("cid:foo:")), + rtl::OUString(urlobj.GetMainURL(INetURLObject::NO_DECODE))); + + url = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("foo:#")); + urlobj = INetURLObject(url, INET_PROT_CID); + bSuccess &= assertEqual(url, INET_PROT_CID, urlobj.GetProtocol()); + bSuccess &= assertEqual( + url, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("cid:foo:#")), + rtl::OUString(urlobj.GetMainURL(INetURLObject::NO_DECODE))); + + url = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("foo:/")); + urlobj = INetURLObject(url, INET_PROT_CID); + bSuccess &= assertEqual(url, INET_PROT_GENERIC, urlobj.GetProtocol()); + bSuccess &= assertEqual( + url, url, + rtl::OUString(urlobj.GetMainURL(INetURLObject::NO_DECODE))); + + url = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(".foo:/")); + urlobj = INetURLObject(url, INET_PROT_CID); + bSuccess &= assertEqual(url, INET_PROT_CID, urlobj.GetProtocol()); + bSuccess &= assertEqual( + url, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("cid:.foo:/")), + rtl::OUString(urlobj.GetMainURL(INetURLObject::NO_DECODE))); + + url = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("C:\\bla")); + urlobj = INetURLObject(url, INET_PROT_CID); + bSuccess &= assertEqual(url, INET_PROT_FILE, urlobj.GetProtocol()); + bSuccess &= assertEqual( + url, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("file:///C:/bla")), + rtl::OUString(urlobj.GetMainURL(INetURLObject::NO_DECODE))); + + url = rtl::OUString( + RTL_CONSTASCII_USTRINGPARAM("private:factory/swriter")); + urlobj = INetURLObject(url, INET_PROT_CID); + bSuccess &= assertEqual( + url, INET_PROT_PRIV_SOFFICE, urlobj.GetProtocol()); + bSuccess &= assertEqual( + url, url, + rtl::OUString(urlobj.GetMainURL(INetURLObject::NO_DECODE))); + } + return bSuccess ? EXIT_SUCCESS : EXIT_FAILURE; } |