summaryrefslogtreecommitdiff
path: root/tools/workben
diff options
context:
space:
mode:
authorStephan Bergmann <sb@openoffice.org>2001-08-21 13:51:28 +0000
committerStephan Bergmann <sb@openoffice.org>2001-08-21 13:51:28 +0000
commit1f8b28910e880b2b7632e948766225065733e119 (patch)
tree69158b655a2599e94bd75e1eeab965b8770fcc34 /tools/workben
parent14f30f3bfef5d020ec9a12a1e382029865e281b5 (diff)
#85453# Improved convertAbsToRel() for non-DOS file URLs.
Diffstat (limited to 'tools/workben')
-rw-r--r--tools/workben/urltest.cxx148
1 files changed, 135 insertions, 13 deletions
diff --git a/tools/workben/urltest.cxx b/tools/workben/urltest.cxx
index 35bd1615c5be..40a6585e9e9a 100644
--- a/tools/workben/urltest.cxx
+++ b/tools/workben/urltest.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: urltest.cxx,v $
*
- * $Revision: 1.6 $
+ * $Revision: 1.7 $
*
- * last change: $Author: sb $ $Date: 2001-08-09 08:34:57 $
+ * last change: $Author: sb $ $Date: 2001-08-21 14:51:28 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -59,15 +59,40 @@
*
************************************************************************/
-#include <cstddef>
-#include <cstdio>
-#include <cstdlib>
-
#ifndef TOOLS_INETMIME_HXX
-#include <inetmime.hxx>
+#include "inetmime.hxx"
#endif
#ifndef _URLOBJ_HXX
-#include <urlobj.hxx>
+#include "urlobj.hxx"
+#endif
+
+#ifndef _RTL_STRING_H_
+#include "rtl/string.h"
+#endif
+#ifndef _RTL_STRING_HXX_
+#include "rtl/string.hxx"
+#endif
+#ifndef _RTL_TEXTENC_H
+#include "rtl/textenc.h"
+#endif
+#ifndef _RTL_USTRING_H_
+#include "rtl/ustring.h"
+#endif
+#ifndef _RTL_USTRING_HXX_
+#include "rtl/ustring.hxx"
+#endif
+
+#ifndef INCLUDED_CSTDDEF
+#include <cstddef>
+#define INCLUDED_CSTDDEF
+#endif
+#ifndef INCLUDED_CSTDLIB
+#include <cstdlib>
+#define INCLUDED_CSTDLIB
+#endif
+#ifndef INCLUDED_STDIO_H
+#include <stdio.h>
+#define INCLUDED_STDIO_H
#endif
//============================================================================
@@ -85,11 +110,11 @@ struct RelToAbsTest
};
//============================================================================
-bool testRelToAbs(RelToAbsTest const * pTest, size_t nSize)
+bool testRelToAbs(RelToAbsTest const * pTest, std::size_t nSize)
{
bool bSuccess = true;
INetURLObject aBase;
- for (size_t i = 0; i < nSize; ++i)
+ for (std::size_t i = 0; i < nSize; ++i)
{
if (pTest[i].m_pBase)
{
@@ -157,11 +182,11 @@ inline sal_Char const * toString(INetURLObject::FSysStyle eStyle)
}
//============================================================================
-bool testSetFSys(SetFSysTest const * pTest, size_t nSize)
+bool testSetFSys(SetFSysTest const * pTest, std::size_t nSize)
{
bool bSuccess = true;
String aPath;
- for (size_t i = 0; i < nSize; ++i)
+ for (std::size_t i = 0; i < nSize; ++i)
{
if (pTest[i].m_pPath)
aPath = String::CreateFromAscii(pTest[i].m_pPath);
@@ -863,7 +888,7 @@ main()
}
}
- if (true)
+ if (false)
{
abbreviate(INetURLObject(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
"file:///"))));
@@ -889,5 +914,102 @@ main()
"file:///abcdef/def"))));
}
+ if (true)
+ {
+ {
+ rtl::OUString
+ aBase(RTL_CONSTASCII_USTRINGPARAM("file:///a:/b/c"));
+ rtl::OUString aAbs(RTL_CONSTASCII_USTRINGPARAM("file:///a:/d/e"));
+ rtl::OUString aRel(INetURLObject::GetRelURL(aBase, aAbs));
+ if (!aRel.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("../d/e")))
+ {
+ printf("BAD GetRelURL(%s, %s) = %s\n",
+ rtl::OUStringToOString(aBase, RTL_TEXTENCODING_UTF8).
+ getStr(),
+ rtl::OUStringToOString(aAbs, RTL_TEXTENCODING_UTF8).
+ getStr(),
+ rtl::OUStringToOString(aRel, RTL_TEXTENCODING_UTF8).
+ getStr());
+ bSuccess = false;
+ }
+ }
+ {
+ rtl::OUString
+ aBase(RTL_CONSTASCII_USTRINGPARAM("file:///a:/b/c"));
+ rtl::OUString aAbs(RTL_CONSTASCII_USTRINGPARAM("file:///d:/e/f"));
+ rtl::OUString aRel(INetURLObject::GetRelURL(aBase, aAbs));
+ if (aRel != aAbs)
+ {
+ printf("BAD GetRelURL(%s, %s) = %s\n",
+ rtl::OUStringToOString(aBase, RTL_TEXTENCODING_UTF8).
+ getStr(),
+ rtl::OUStringToOString(aAbs, RTL_TEXTENCODING_UTF8).
+ getStr(),
+ rtl::OUStringToOString(aRel, RTL_TEXTENCODING_UTF8).
+ getStr());
+ bSuccess = false;
+ }
+ }
+ {
+ rtl::OUString
+ aBase(RTL_CONSTASCII_USTRINGPARAM("file:///a:/b/c"));
+ rtl::OUString aAbs(RTL_CONSTASCII_USTRINGPARAM("file:///d/e/f"));
+ rtl::OUString aRel(INetURLObject::GetRelURL(aBase, aAbs));
+ if (!aRel.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("../../d/e/f")))
+ {
+ printf("BAD GetRelURL(%s, %s) = %s\n",
+ rtl::OUStringToOString(aBase, RTL_TEXTENCODING_UTF8).
+ getStr(),
+ rtl::OUStringToOString(aAbs, RTL_TEXTENCODING_UTF8).
+ getStr(),
+ rtl::OUStringToOString(aRel, RTL_TEXTENCODING_UTF8).
+ getStr());
+ bSuccess = false;
+ }
+ }
+ {
+ rtl::OUString
+ aBase(RTL_CONSTASCII_USTRINGPARAM("file:///a:/b/c"));
+ rtl::OUString aAbs(RTL_CONSTASCII_USTRINGPARAM("file:///d:/e/f"));
+ rtl::OUString
+ aRel(INetURLObject::GetRelURL(aBase,
+ aAbs,
+ INetURLObject::WAS_ENCODED,
+ INetURLObject::DECODE_TO_IURI,
+ RTL_TEXTENCODING_UTF8,
+ INetURLObject::FSYS_UNX));
+ if (!aRel.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(
+ "../../d:/e/f")))
+ {
+ printf("BAD GetRelURL(%s, %s) = %s\n",
+ rtl::OUStringToOString(aBase, RTL_TEXTENCODING_UTF8).
+ getStr(),
+ rtl::OUStringToOString(aAbs, RTL_TEXTENCODING_UTF8).
+ getStr(),
+ rtl::OUStringToOString(aRel, RTL_TEXTENCODING_UTF8).
+ getStr());
+ bSuccess = false;
+ }
+ }
+ {
+ rtl::OUString
+ aBase(RTL_CONSTASCII_USTRINGPARAM("file:///test.html"));
+ rtl::OUString
+ aAbs(RTL_CONSTASCII_USTRINGPARAM("/images/myimage.gif"));
+ rtl::OUString aRel(INetURLObject::GetRelURL(aBase, aAbs));
+ if (aRel != aAbs)
+ {
+ printf("BAD GetRelURL(%s, %s) = %s\n",
+ rtl::OUStringToOString(aBase, RTL_TEXTENCODING_UTF8).
+ getStr(),
+ rtl::OUStringToOString(aAbs, RTL_TEXTENCODING_UTF8).
+ getStr(),
+ rtl::OUStringToOString(aRel, RTL_TEXTENCODING_UTF8).
+ getStr());
+ bSuccess = false;
+ }
+ }
+ }
+
return bSuccess ? EXIT_SUCCESS : EXIT_FAILURE;
}