[Libreoffice-commits] core.git: sal/qa sal/rtl
Stephan Bergmann
sbergman at redhat.com
Wed Jun 24 23:53:56 PDT 2015
sal/qa/rtl/strings/test_strings_replace.cxx | 19 +++++++++++++++++++
sal/rtl/ustring.cxx | 6 +++---
2 files changed, 22 insertions(+), 3 deletions(-)
New commits:
commit f7a7a9dd84d1cd8b49d59e1fb1853ea7e9f40edf
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Thu Jun 25 08:52:08 2015 +0200
Do not forget to actually set newStr to an empty string
Change-Id: I745b09d8a248f08afdd3387f4cfcf69d71ec3c39
diff --git a/sal/qa/rtl/strings/test_strings_replace.cxx b/sal/qa/rtl/strings/test_strings_replace.cxx
index 0d47c3e..02054c1 100644
--- a/sal/qa/rtl/strings/test_strings_replace.cxx
+++ b/sal/qa/rtl/strings/test_strings_replace.cxx
@@ -20,6 +20,7 @@
namespace {
+OUString s_empty;
OUString s_bar("bar");
OUString s_bars("bars");
OUString s_foo("foo");
@@ -176,6 +177,9 @@ void Test::ustringReplaceFirstAsciiL() {
rtl::OUString("foobarfoo").replaceFirst("bar", s_other, &n));
CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), n);
}
+
+ CPPUNIT_ASSERT_EQUAL(
+ rtl::OUString(), rtl::OUString("xa").replaceFirst("xa", s_empty));
}
void Test::ustringReplaceFirstToAsciiL() {
@@ -210,6 +214,9 @@ void Test::ustringReplaceFirstToAsciiL() {
rtl::OUString("foobarfoo").replaceFirst(s_bar, "other", &n));
CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), n);
}
+
+ CPPUNIT_ASSERT_EQUAL(
+ rtl::OUString(), rtl::OUString("xa").replaceFirst(s_xa, ""));
}
void Test::ustringReplaceFirstAsciiLAsciiL() {
@@ -249,6 +256,9 @@ void Test::ustringReplaceFirstAsciiLAsciiL() {
replaceFirst("bar", "other", &n)));
CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), n);
}
+
+ CPPUNIT_ASSERT_EQUAL(
+ rtl::OUString(), rtl::OUString("xa").replaceFirst("xa", ""));
}
void Test::ustringReplaceAll() {
@@ -277,6 +287,9 @@ void Test::ustringReplaceAllAsciiL() {
CPPUNIT_ASSERT_EQUAL(
rtl::OUString("xxa"),
rtl::OUString("xaa").replaceAll("xa", s_xx));
+
+ CPPUNIT_ASSERT_EQUAL(
+ rtl::OUString(), rtl::OUString("xa").replaceAll("xa", s_empty));
}
void Test::ustringReplaceAllToAsciiL() {
@@ -291,6 +304,9 @@ void Test::ustringReplaceAllToAsciiL() {
CPPUNIT_ASSERT_EQUAL(
rtl::OUString("xxa"),
rtl::OUString("xaa").replaceAll(s_xa, "xx"));
+
+ CPPUNIT_ASSERT_EQUAL(
+ rtl::OUString(), rtl::OUString("xa").replaceAll(s_xa, ""));
}
void Test::ustringReplaceAllAsciiLAsciiL() {
@@ -308,6 +324,9 @@ void Test::ustringReplaceAllAsciiLAsciiL() {
rtl::OUString("xxa"),
(rtl::OUString("xaa").
replaceAll("xa", "xx")));
+
+ CPPUNIT_ASSERT_EQUAL(
+ rtl::OUString(), rtl::OUString("xa").replaceAll("xa", ""));
}
}
diff --git a/sal/rtl/ustring.cxx b/sal/rtl/ustring.cxx
index 8270774..de733e8 100644
--- a/sal/rtl/ustring.cxx
+++ b/sal/rtl/ustring.cxx
@@ -1154,8 +1154,8 @@ void rtl_uString_newReplaceFirstAsciiL(
}
sal_Int32 n = str->length - fromLength + to->length;
rtl_uString_acquire(str); // in case *newStr == str
+ rtl_uString_new_WithLength(newStr, n);
if (n != 0) {
- rtl_uString_new_WithLength(newStr, n);
(*newStr)->length = n;
assert(i >= 0 && i < str->length);
memcpy(
@@ -1196,8 +1196,8 @@ void rtl_uString_newReplaceFirstToAsciiL(
}
sal_Int32 n = str->length - from->length + toLength;
rtl_uString_acquire(str); // in case *newStr == str
+ rtl_uString_new_WithLength(newStr, n);
if (n != 0) {
- rtl_uString_new_WithLength(newStr, n);
(*newStr)->length = n;
assert(i >= 0 && i < str->length);
memcpy(
@@ -1240,8 +1240,8 @@ void rtl_uString_newReplaceFirstAsciiLAsciiL(
}
sal_Int32 n = str->length - fromLength + toLength;
rtl_uString_acquire(str); // in case *newStr == str
+ rtl_uString_new_WithLength(newStr, n);
if (n != 0) {
- rtl_uString_new_WithLength(newStr, n);
(*newStr)->length = n;
assert(i >= 0 && i < str->length);
memcpy(
More information about the Libreoffice-commits
mailing list