Kaydet (Commit) 03625e16 authored tarafından Rüdiger Timm's avatar Rüdiger Timm

INTEGRATION: CWS c07v013_SRC680 (1.7.18); FILE MERGED

2007/06/21 13:00:57 sb 1.7.18.1: #b6550116# Made XExternalUriReferenceTranslator.translateToExternal more robust when the input URL contains spurious non--UTF-8 octets like %FE (which are now copied verbatim, instead of signalling error).
üst 6ff5d334
...@@ -4,9 +4,9 @@ ...@@ -4,9 +4,9 @@
* *
* $RCSfile: test_uriproc.cxx,v $ * $RCSfile: test_uriproc.cxx,v $
* *
* $Revision: 1.8 $ * $Revision: 1.9 $
* *
* last change: $Author: obo $ $Date: 2007-03-12 10:56:34 $ * last change: $Author: rt $ $Date: 2007-07-03 14:19:05 $
* *
* The Contents of this file are made available subject to * The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1. * the terms of GNU Lesser General Public License Version 2.1.
...@@ -855,47 +855,43 @@ void Test::testTranslator() { ...@@ -855,47 +855,43 @@ void Test::testTranslator() {
struct Data { struct Data {
char const * externalUriReference; char const * externalUriReference;
char const * internalUriReference; char const * internalUriReference;
bool toInternal;
}; };
Data data[] = { Data data[] = {
{ "", "" }, { "", "", true },
{ "#fragment", "#fragment" }, { "#fragment", "#fragment", true },
{ "segment/segment?query#fragment", "segment/segment?query#fragment" }, { "segment/segment?query#fragment", "segment/segment?query#fragment",
{ "/segment/segment?query#fragment", true },
"/segment/segment?query#fragment" }, { "/segment/segment?query#fragment", "/segment/segment?query#fragment",
true },
{ "//authority/segment?query#fragment", { "//authority/segment?query#fragment",
"//authority/segment?query#fragment" }, "//authority/segment?query#fragment", true },
{ "foo:bar#fragment", "foo:bar#fragment" }, { "foo:bar#fragment", "foo:bar#fragment", true },
{ "file:///abc/def", "file:///abc/def" }, { "file:///abc/def", "file:///abc/def", true },
{ 0, "file:///abc/%FEef" }, { "file:///abc/%FEef", "file:///abc/%feef", false },
{ 0, "file:///abc/%80%80ef" }, { "file:///abc/%80%80ef", "file:///abc/%80%80ef", false },
{ 0, "file:///abc/%ED%A0%80%ED%B0%80ef" } }; { "file:///abc/%ED%A0%80%ED%B0%80ef",
"file:///abc/%ED%A0%80%ED%B0%80ef", false },
{ "file:///abc/%25.ef", "file:///abc/%.ef", false },
{ "file:///abc/%25ef", "file:///abc/%25ef", true } };
css::uno::Reference< css::uri::XExternalUriReferenceTranslator > css::uno::Reference< css::uri::XExternalUriReferenceTranslator >
translator(css::uri::ExternalUriReferenceTranslator::create(m_context)); translator(css::uri::ExternalUriReferenceTranslator::create(m_context));
for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) { for (std::size_t i = 0; i < sizeof data / sizeof data[0]; ++i) {
if (data[i].externalUriReference != 0) { if (data[i].toInternal) {
TEST_ASSERT_EQUAL( TEST_ASSERT_EQUAL(
"testTranslator, translateToInternal", i, "testTranslator, translateToInternal", i,
data[i].externalUriReference, data[i].externalUriReference,
(data[i].internalUriReference == 0 rtl::OUString::createFromAscii(data[i].internalUriReference),
? rtl::OUString()
: rtl::OUString::createFromAscii(
data[i].internalUriReference)),
translator->translateToInternal( translator->translateToInternal(
rtl::OUString::createFromAscii( rtl::OUString::createFromAscii(
data[i].externalUriReference))); data[i].externalUriReference)));
} }
if (data[i].internalUriReference != 0) { TEST_ASSERT_EQUAL(
TEST_ASSERT_EQUAL( "testTranslator, translateToExternal", i,
"testTranslator, translateToExternal", i, data[i].internalUriReference,
data[i].internalUriReference, rtl::OUString::createFromAscii(data[i].externalUriReference),
(data[i].externalUriReference == 0 translator->translateToExternal(
? rtl::OUString() rtl::OUString::createFromAscii(data[i].internalUriReference)));
: rtl::OUString::createFromAscii(
data[i].externalUriReference)),
translator->translateToExternal(
rtl::OUString::createFromAscii(
data[i].internalUriReference)));
}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment