summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2004-09-20 10:58:38 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2004-09-20 10:58:38 +0000
commitb04f8295ea87626004a4429144e8159aaaba65ae (patch)
tree86937de72affab22703d8081ead0aae5f86bbc3c /tools
parentc3ecef8067e274d017a344b4c8049cd5f49c6729 (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')
-rw-r--r--tools/workben/urltest.cxx142
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;
}