summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/com/sun/star/uno/Any.h4
-rw-r--r--include/com/sun/star/uno/Any.hxx18
-rw-r--r--include/comphelper/propertyvalue.hxx8
-rw-r--r--include/oox/helper/propertymap.hxx5
-rw-r--r--include/rtl/strbuf.hxx6
-rw-r--r--include/rtl/string.hxx11
-rw-r--r--include/rtl/ustrbuf.hxx6
-rw-r--r--include/rtl/ustring.hxx11
-rw-r--r--include/sax/fshelper.hxx33
-rw-r--r--sal/qa/rtl/strings/test_ostring_concat.cxx7
-rw-r--r--sal/qa/rtl/strings/test_oustring_concat.cxx7
-rw-r--r--sc/qa/unit/ucalc_formula.cxx40
12 files changed, 96 insertions, 60 deletions
diff --git a/include/com/sun/star/uno/Any.h b/include/com/sun/star/uno/Any.h
index 93be8c4ce5fd..2e216719b59e 100644
--- a/include/com/sun/star/uno/Any.h
+++ b/include/com/sun/star/uno/Any.h
@@ -79,7 +79,9 @@ public:
#if defined LIBO_INTERNAL_ONLY
template<typename T1, typename T2>
- explicit inline Any(rtl::OUStringConcat<T1, T2> const & value);
+ explicit inline Any(rtl::OUStringConcat<T1, T2> && value);
+ template<typename T1, typename T2>
+ explicit Any(rtl::OUStringConcat<T1, T2> const &) = delete;
#endif
/** Copy constructor: Sets value of the given any.
diff --git a/include/com/sun/star/uno/Any.hxx b/include/com/sun/star/uno/Any.hxx
index 52ca0fc571fe..ac1b43dd779e 100644
--- a/include/com/sun/star/uno/Any.hxx
+++ b/include/com/sun/star/uno/Any.hxx
@@ -26,6 +26,7 @@
#include <cstddef>
#include <iomanip>
#include <ostream>
+#include <utility>
#include "com/sun/star/uno/Any.h"
#include "uno/data.h"
@@ -76,7 +77,8 @@ inline Any::Any( bool value )
#if defined LIBO_INTERNAL_ONLY
template<typename T1, typename T2>
-Any::Any(rtl::OUStringConcat<T1, T2> const & value): Any(rtl::OUString(value))
+Any::Any(rtl::OUStringConcat<T1, T2> && value):
+ Any(rtl::OUString(std::move(value)))
{}
#endif
@@ -239,6 +241,14 @@ template<> Any toAny(Any const & value) { return value; }
#if defined LIBO_INTERNAL_ONLY
+template<typename T1, typename T2>
+Any makeAny(rtl::OUStringConcat<T1, T2> && value)
+{ return Any(std::move(value)); }
+
+template<typename T1, typename T2>
+Any toAny(rtl::OUStringConcat<T1, T2> && value)
+{ return makeAny(std::move(value)); }
+
template<typename T> bool fromAny(Any const & any, T * value) {
assert(value != nullptr);
return any >>= *value;
@@ -275,14 +285,16 @@ inline void SAL_CALL operator <<= ( Any & rAny, bool const & value )
#ifdef LIBO_INTERNAL_ONLY // "RTL_FAST_STRING"
template< class C1, class C2 >
-inline void SAL_CALL operator <<= ( Any & rAny, const rtl::OUStringConcat< C1, C2 >& value )
+inline void SAL_CALL operator <<= ( Any & rAny, rtl::OUStringConcat< C1, C2 >&& value )
{
- const rtl::OUString str( value );
+ const rtl::OUString str( std::move(value) );
const Type & rType = ::cppu::getTypeFavourUnsigned(&str);
::uno_type_any_assign(
&rAny, const_cast< rtl::OUString * >( &str ), rType.getTypeLibType(),
cpp_acquire, cpp_release );
}
+template<typename T1, typename T2>
+void operator <<=(Any &, rtl::OUStringConcat<T1, T2> const &) = delete;
#endif
#if defined LIBO_INTERNAL_ONLY
diff --git a/include/comphelper/propertyvalue.hxx b/include/comphelper/propertyvalue.hxx
index ba442c12a931..3415d2304f83 100644
--- a/include/comphelper/propertyvalue.hxx
+++ b/include/comphelper/propertyvalue.hxx
@@ -10,6 +10,10 @@
#ifndef INCLUDED_COMPHELPER_PROPERTYVALUE_HXX
#define INCLUDED_COMPHELPER_PROPERTYVALUE_HXX
+#include <sal/config.h>
+
+#include <utility>
+
#include <com/sun/star/beans/PropertyValue.hpp>
namespace comphelper
@@ -22,11 +26,11 @@ namespace comphelper
*
* instead of writing 3 extra lines to set the name and value of the beans::PropertyValue.
*/
-template<typename T> css::beans::PropertyValue makePropertyValue(const OUString& rName, const T& rValue)
+template<typename T> css::beans::PropertyValue makePropertyValue(const OUString& rName, T&& rValue)
{
css::beans::PropertyValue aValue;
aValue.Name = rName;
- aValue.Value = css::uno::toAny(rValue);
+ aValue.Value = css::uno::toAny(std::forward<T>(rValue));
return aValue;
}
diff --git a/include/oox/helper/propertymap.hxx b/include/oox/helper/propertymap.hxx
index badcf0d5e49b..30d77ec0bfa4 100644
--- a/include/oox/helper/propertymap.hxx
+++ b/include/oox/helper/propertymap.hxx
@@ -21,6 +21,7 @@
#define INCLUDED_OOX_HELPER_PROPERTYMAP_HXX
#include <map>
+#include <utility>
#include <com/sun/star/uno/Any.hxx>
#include <com/sun/star/uno/Reference.hxx>
@@ -67,12 +68,12 @@ public:
/** Sets the specified property to the passed value. Does nothing, if the
identifier is invalid. */
template< typename Type >
- bool setProperty( sal_Int32 nPropId, const Type& rValue )
+ bool setProperty( sal_Int32 nPropId, Type&& rValue )
{
if( nPropId < 0 )
return false;
- maProperties[ nPropId ] <<= rValue;
+ maProperties[ nPropId ] <<= std::forward<Type>(rValue);
return true;
}
diff --git a/include/rtl/strbuf.hxx b/include/rtl/strbuf.hxx
index 638c30bb957a..0c3b53d8e8b4 100644
--- a/include/rtl/strbuf.hxx
+++ b/include/rtl/strbuf.hxx
@@ -214,7 +214,7 @@ public:
@internal
*/
template< typename T1, typename T2 >
- OStringBuffer( const OStringConcat< T1, T2 >& c )
+ OStringBuffer( OStringConcat< T1, T2 >&& c )
{
const sal_Int32 l = c.length();
nCapacity = l + 16;
@@ -279,7 +279,7 @@ public:
#if defined LIBO_INTERNAL_ONLY
/** @overload @since LibreOffice 5.3 */
template<typename T1, typename T2>
- OStringBuffer & operator =(OStringConcat<T1, T2> const & concat) {
+ OStringBuffer & operator =(OStringConcat<T1, T2> && concat) {
sal_Int32 const n = concat.length();
if (n >= nCapacity) {
ensureCapacity(n + 16); //TODO: check for overflow
@@ -549,7 +549,7 @@ public:
@internal
*/
template< typename T1, typename T2 >
- OStringBuffer& append( const OStringConcat< T1, T2 >& c )
+ OStringBuffer& append( OStringConcat< T1, T2 >&& c )
{
sal_Int32 l = c.length();
if( l == 0 )
diff --git a/include/rtl/string.hxx b/include/rtl/string.hxx
index e113c264fc32..ead2af45863e 100644
--- a/include/rtl/string.hxx
+++ b/include/rtl/string.hxx
@@ -26,6 +26,7 @@
#include <cstddef>
#include <new>
#include <ostream>
+#include <utility>
#include <string.h>
#include "rtl/textenc.h"
@@ -266,7 +267,7 @@ public:
@internal
*/
template< typename T1, typename T2 >
- OString( const OStringConcat< T1, T2 >& c )
+ OString( OStringConcat< T1, T2 >&& c )
{
const sal_Int32 l = c.length();
pData = rtl_string_alloc( l );
@@ -367,7 +368,7 @@ public:
@internal
*/
template< typename T1, typename T2 >
- OString& operator+=( const OStringConcat< T1, T2 >& c ) & {
+ OString& operator+=( OStringConcat< T1, T2 >&& c ) & {
sal_Int32 l = c.length();
if( l == 0 )
return *this;
@@ -379,7 +380,7 @@ public:
return *this;
}
template<typename T1, typename T2> void operator +=(
- OStringConcat<T1, T2> const &) && = delete;
+ OStringConcat<T1, T2> &&) && = delete;
#endif
/**
@@ -1839,9 +1840,9 @@ struct ToStringHelper< OStringLiteral >
*/
template< typename charT, typename traits, typename T1, typename T2 >
inline std::basic_ostream<charT, traits> & operator <<(
- std::basic_ostream<charT, traits> & stream, const OStringConcat< T1, T2 >& concat)
+ std::basic_ostream<charT, traits> & stream, OStringConcat< T1, T2 >&& concat)
{
- return stream << OString( concat );
+ return stream << OString( std::move(concat) );
}
#endif
diff --git a/include/rtl/ustrbuf.hxx b/include/rtl/ustrbuf.hxx
index 16ca211d3f5b..1a40eeee8832 100644
--- a/include/rtl/ustrbuf.hxx
+++ b/include/rtl/ustrbuf.hxx
@@ -208,7 +208,7 @@ public:
@internal
*/
template< typename T1, typename T2 >
- OUStringBuffer( const OUStringConcat< T1, T2 >& c )
+ OUStringBuffer( OUStringConcat< T1, T2 >&& c )
{
const sal_Int32 l = c.length();
nCapacity = l + 16;
@@ -313,7 +313,7 @@ public:
#if defined LIBO_INTERNAL_ONLY
/** @overload @since LibreOffice 5.3 */
template<typename T1, typename T2>
- OUStringBuffer & operator =(OUStringConcat<T1, T2> const & concat) {
+ OUStringBuffer & operator =(OUStringConcat<T1, T2> && concat) {
sal_Int32 const n = concat.length();
if (n >= nCapacity) {
ensureCapacity(n + 16); //TODO: check for overflow
@@ -631,7 +631,7 @@ public:
@internal
*/
template< typename T1, typename T2 >
- OUStringBuffer& append( const OUStringConcat< T1, T2 >& c )
+ OUStringBuffer& append( OUStringConcat< T1, T2 >&& c )
{
sal_Int32 l = c.length();
if( l == 0 )
diff --git a/include/rtl/ustring.hxx b/include/rtl/ustring.hxx
index 74b46fdc0887..f5aa1312b000 100644
--- a/include/rtl/ustring.hxx
+++ b/include/rtl/ustring.hxx
@@ -26,6 +26,7 @@
#include <cstddef>
#include <new>
#include <ostream>
+#include <utility>
#include <string.h>
#include "rtl/ustring.h"
@@ -391,7 +392,7 @@ public:
@internal
*/
template< typename T1, typename T2 >
- OUString( const OUStringConcat< T1, T2 >& c )
+ OUString( OUStringConcat< T1, T2 >&& c )
{
const sal_Int32 l = c.length();
pData = rtl_uString_alloc( l );
@@ -598,7 +599,7 @@ public:
@internal
*/
template< typename T1, typename T2 >
- OUString& operator+=( const OUStringConcat< T1, T2 >& c ) & {
+ OUString& operator+=( OUStringConcat< T1, T2 >&& c ) & {
sal_Int32 l = c.length();
if( l == 0 )
return *this;
@@ -610,7 +611,7 @@ public:
return *this;
}
template<typename T1, typename T2> void operator +=(
- OUStringConcat<T1, T2> const &) && = delete;
+ OUStringConcat<T1, T2> &&) && = delete;
#endif
/**
@@ -3584,9 +3585,9 @@ struct ToStringHelper< OUStringLiteral >
*/
template< typename charT, typename traits, typename T1, typename T2 >
inline std::basic_ostream<charT, traits> & operator <<(
- std::basic_ostream<charT, traits> & stream, const OUStringConcat< T1, T2 >& concat)
+ std::basic_ostream<charT, traits> & stream, OUStringConcat< T1, T2 >&& concat)
{
- return stream << OUString( concat );
+ return stream << OUString( std::move(concat) );
}
/// @endcond
diff --git a/include/sax/fshelper.hxx b/include/sax/fshelper.hxx
index 6b3dc1e68318..5be3b3bfc697 100644
--- a/include/sax/fshelper.hxx
+++ b/include/sax/fshelper.hxx
@@ -24,6 +24,7 @@
#include <sax/fastattribs.hxx>
#include <stdarg.h>
#include <memory>
+#include <utility>
#define FSNS(namespc, element) ((namespc << 16) | element)
// Backwards compatibility for code that used FSEND to terminate the vararg.
@@ -76,11 +77,11 @@ public:
/// Start an element. After the first argument there can be a number of (attribute, value) pairs.
template<typename... Args>
- void startElement(sal_Int32 elementTokenId, sal_Int32 attribute, const char* value, Args... args)
+ void startElement(sal_Int32 elementTokenId, sal_Int32 attribute, const char* value, Args &&... args)
{
if (value)
pushAttributeValue(attribute, value);
- startElement(elementTokenId, args...);
+ startElement(elementTokenId, std::forward<Args>(args)...);
}
void startElement(sal_Int32 elementTokenId, sal_Int32 attribute, const char* value, FSEND_t)
{
@@ -89,10 +90,10 @@ public:
startElement(elementTokenId, FSEND);
}
template<typename... Args>
- void startElement(sal_Int32 elementTokenId, sal_Int32 attribute, const OString& value, Args... args)
+ void startElement(sal_Int32 elementTokenId, sal_Int32 attribute, const OString& value, Args &&... args)
{
pushAttributeValue(attribute, value);
- startElement(elementTokenId, args...);
+ startElement(elementTokenId, std::forward<Args>(args)...);
}
void startElement(sal_Int32 elementTokenId, sal_Int32 attribute, const OString& value, FSEND_t)
{
@@ -103,11 +104,11 @@ public:
/// Start an element. After the first two arguments there can be a number of (attribute, value) pairs.
template<typename... Args>
- void startElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, sal_Int32 attribute, const char* value, Args... args)
+ void startElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, sal_Int32 attribute, const char* value, Args &&... args)
{
if (value)
pushAttributeValue(attribute, value);
- startElementNS(namespaceTokenId, elementTokenId, args...);
+ startElementNS(namespaceTokenId, elementTokenId, std::forward<Args>(args)...);
}
void startElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, sal_Int32 attribute, const char* value, FSEND_t)
{
@@ -116,10 +117,10 @@ public:
startElementNS(namespaceTokenId, elementTokenId, FSEND);
}
template<typename... Args>
- void startElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, sal_Int32 attribute, const OString& value, Args... args)
+ void startElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, sal_Int32 attribute, const OString& value, Args &&... args)
{
pushAttributeValue(attribute, value);
- startElementNS(namespaceTokenId, elementTokenId, args...);
+ startElementNS(namespaceTokenId, elementTokenId, std::forward<Args>(args)...);
}
void startElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, sal_Int32 attribute, const OString& value, FSEND_t)
{
@@ -133,11 +134,11 @@ public:
/// Create a single element. After the first argument there can be a number of (attribute, value) pairs.
template<typename... Args>
- void singleElement(sal_Int32 elementTokenId, sal_Int32 attribute, const char* value, Args... args)
+ void singleElement(sal_Int32 elementTokenId, sal_Int32 attribute, const char* value, Args &&... args)
{
if (value)
pushAttributeValue(attribute, value);
- singleElement(elementTokenId, args...);
+ singleElement(elementTokenId, std::forward<Args>(args)...);
}
void singleElement(sal_Int32 elementTokenId, sal_Int32 attribute, const char* value, FSEND_t)
{
@@ -146,10 +147,10 @@ public:
singleElement(elementTokenId, FSEND);
}
template<typename... Args>
- void singleElement(sal_Int32 elementTokenId, sal_Int32 attribute, const OString& value, Args... args)
+ void singleElement(sal_Int32 elementTokenId, sal_Int32 attribute, const OString& value, Args &&... args)
{
pushAttributeValue(attribute, value);
- singleElement(elementTokenId, args...);
+ singleElement(elementTokenId, std::forward<Args>(args)...);
}
void singleElement(sal_Int32 elementTokenId, sal_Int32 attribute, const OString& value, FSEND_t)
{
@@ -160,11 +161,11 @@ public:
/// Create a single element. After the first two arguments there can be a number of (attribute, value) pairs.
template<typename... Args>
- void singleElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, sal_Int32 attribute, const char* value, Args... args)
+ void singleElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, sal_Int32 attribute, const char* value, Args &&... args)
{
if (value)
pushAttributeValue(attribute, value);
- singleElementNS(namespaceTokenId, elementTokenId, args...);
+ singleElementNS(namespaceTokenId, elementTokenId, std::forward<Args>(args)...);
}
void singleElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, sal_Int32 attribute, const char* value, FSEND_t)
{
@@ -173,10 +174,10 @@ public:
singleElementNS(namespaceTokenId, elementTokenId, FSEND);
}
template<typename... Args>
- void singleElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, sal_Int32 attribute, const OString& value, Args... args)
+ void singleElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, sal_Int32 attribute, const OString& value, Args &&... args)
{
pushAttributeValue(attribute, value);
- singleElementNS(namespaceTokenId, elementTokenId, args...);
+ singleElementNS(namespaceTokenId, elementTokenId, std::forward<Args>(args)...);
}
void singleElementNS(sal_Int32 namespaceTokenId, sal_Int32 elementTokenId, sal_Int32 attribute, const OString& value, FSEND_t)
{
diff --git a/sal/qa/rtl/strings/test_ostring_concat.cxx b/sal/qa/rtl/strings/test_ostring_concat.cxx
index b2adc17272d6..80fa62df6be5 100644
--- a/sal/qa/rtl/strings/test_ostring_concat.cxx
+++ b/sal/qa/rtl/strings/test_ostring_concat.cxx
@@ -147,6 +147,13 @@ void test::ostring::StringConcat::checkInvalid()
rtl_uString* rus = nullptr;
CPPUNIT_ASSERT( INVALID_CONCAT( OUString( "b" ) + rs ));
CPPUNIT_ASSERT( INVALID_CONCAT( OUString( "b" ) + rus ));
+
+#if 0
+ // Should fail to compile, to avoid use of OStringConcat lvalues that
+ // contain dangling references to temporaries:
+ auto const conc = OStringLiteral("foo") + "bar";
+ (void) OString(conc);
+#endif
}
}} // namespace
diff --git a/sal/qa/rtl/strings/test_oustring_concat.cxx b/sal/qa/rtl/strings/test_oustring_concat.cxx
index 0cf305f9b133..1af3f60dd3aa 100644
--- a/sal/qa/rtl/strings/test_oustring_concat.cxx
+++ b/sal/qa/rtl/strings/test_oustring_concat.cxx
@@ -157,6 +157,13 @@ void test::oustring::StringConcat::checkInvalid()
rtl_uString* rus = nullptr;
CPPUNIT_ASSERT( INVALID_CONCAT( OUString( "b" ) + rs ));
CPPUNIT_ASSERT( INVALID_CONCAT( OUString( "b" ) + rus ));
+
+#if 0
+ // Should fail to compile, to avoid use of OUStringConcat lvalues that
+ // contain dangling references to temporaries:
+ auto const conc = OUStringLiteral("foo") + "bar";
+ (void) OUString(conc);
+#endif
}
}} // namespace
diff --git a/sc/qa/unit/ucalc_formula.cxx b/sc/qa/unit/ucalc_formula.cxx
index 35e8831195a0..4d3277f32d2e 100644
--- a/sc/qa/unit/ucalc_formula.cxx
+++ b/sc/qa/unit/ucalc_formula.cxx
@@ -6488,8 +6488,8 @@ void Test::testFuncTableRef()
m_pDoc->SetString( aPos, aFormula);
// For easier "debugability" have position and formula in assertion.
OUString aPrefix( aPos.Format(ScRefFlags::VALID) + " " + aFormula + " : ");
- CPPUNIT_ASSERT_EQUAL( aPrefix + OUString::createFromAscii( aNames[i].pCounta),
- aPrefix + m_pDoc->GetString( aPos));
+ CPPUNIT_ASSERT_EQUAL( OUString(aPrefix + OUString::createFromAscii( aNames[i].pCounta)),
+ OUString(aPrefix + m_pDoc->GetString( aPos)));
}
// Use the named expressions in SUM() formulas, on row 3 that intersects.
@@ -6500,8 +6500,8 @@ void Test::testFuncTableRef()
m_pDoc->SetString( aPos, aFormula);
// For easier "debugability" have position and formula in assertion.
OUString aPrefix( aPos.Format(ScRefFlags::VALID) + " " + aFormula + " : ");
- CPPUNIT_ASSERT_EQUAL( aPrefix + OUString::createFromAscii( aNames[i].pSum3),
- aPrefix + m_pDoc->GetString( aPos));
+ CPPUNIT_ASSERT_EQUAL( OUString(aPrefix + OUString::createFromAscii( aNames[i].pSum3)),
+ OUString(aPrefix + m_pDoc->GetString( aPos)));
}
// Use the named expressions in SUM() formulas, on row 4 that intersects.
@@ -6512,8 +6512,8 @@ void Test::testFuncTableRef()
m_pDoc->SetString( aPos, aFormula);
// For easier "debugability" have position and formula in assertion.
OUString aPrefix( aPos.Format(ScRefFlags::VALID) + " " + aFormula + " : ");
- CPPUNIT_ASSERT_EQUAL( aPrefix + OUString::createFromAscii( aNames[i].pSum4),
- aPrefix + m_pDoc->GetString( aPos));
+ CPPUNIT_ASSERT_EQUAL( OUString(aPrefix + OUString::createFromAscii( aNames[i].pSum4)),
+ OUString(aPrefix + m_pDoc->GetString( aPos)));
}
// Use the named expressions in SUM() formulas, on row 5 that does not intersect.
@@ -6524,8 +6524,8 @@ void Test::testFuncTableRef()
m_pDoc->SetString( aPos, aFormula);
// For easier "debugability" have position and formula in assertion.
OUString aPrefix( aPos.Format(ScRefFlags::VALID) + " " + aFormula + " : ");
- CPPUNIT_ASSERT_EQUAL( aPrefix + OUString::createFromAscii( aNames[i].pSumX),
- aPrefix + m_pDoc->GetString( aPos));
+ CPPUNIT_ASSERT_EQUAL( OUString(aPrefix + OUString::createFromAscii( aNames[i].pSumX)),
+ OUString(aPrefix + m_pDoc->GetString( aPos)));
}
// Insert a column at column B to extend database range from column A,B to
@@ -6541,8 +6541,8 @@ void Test::testFuncTableRef()
ScAddress aPos(4+i,3,0);
// For easier "debugability" have position and formula in assertion.
OUString aPrefix( aPos.Format(ScRefFlags::VALID) + " " + aFormula + " : ");
- CPPUNIT_ASSERT_EQUAL( aPrefix + OUString::createFromAscii( aNames[i].pSum4),
- aPrefix + m_pDoc->GetString( aPos));
+ CPPUNIT_ASSERT_EQUAL( OUString(aPrefix + OUString::createFromAscii( aNames[i].pSum4)),
+ OUString(aPrefix + m_pDoc->GetString( aPos)));
}
const char* pColumn2Formula = "=SUM(table[[#Data];[Column2]])";
@@ -6662,8 +6662,8 @@ void Test::testFuncTableRef()
m_pDoc->SetString( aPos, aFormula);
// For easier "debugability" have position and formula in assertion.
OUString aPrefix( aPos.Format(ScRefFlags::VALID) + " " + aFormula + " : ");
- CPPUNIT_ASSERT_EQUAL( aPrefix + OUString::createFromAscii( aHlNames[i].pCounta),
- aPrefix + m_pDoc->GetString( aPos));
+ CPPUNIT_ASSERT_EQUAL( OUString(aPrefix + OUString::createFromAscii( aHlNames[i].pCounta)),
+ OUString(aPrefix + m_pDoc->GetString( aPos)));
}
// Use the named expressions in SUM() formulas, on row 11 that intersects.
@@ -6674,8 +6674,8 @@ void Test::testFuncTableRef()
m_pDoc->SetString( aPos, aFormula);
// For easier "debugability" have position and formula in assertion.
OUString aPrefix( aPos.Format(ScRefFlags::VALID) + " " + aFormula + " : ");
- CPPUNIT_ASSERT_EQUAL( aPrefix + OUString::createFromAscii( aHlNames[i].pSum3),
- aPrefix + m_pDoc->GetString( aPos));
+ CPPUNIT_ASSERT_EQUAL( OUString(aPrefix + OUString::createFromAscii( aHlNames[i].pSum3)),
+ OUString(aPrefix + m_pDoc->GetString( aPos)));
}
// Use the named expressions in SUM() formulas, on row 12 that intersects.
@@ -6686,8 +6686,8 @@ void Test::testFuncTableRef()
m_pDoc->SetString( aPos, aFormula);
// For easier "debugability" have position and formula in assertion.
OUString aPrefix( aPos.Format(ScRefFlags::VALID) + " " + aFormula + " : ");
- CPPUNIT_ASSERT_EQUAL( aPrefix + OUString::createFromAscii( aHlNames[i].pSum4),
- aPrefix + m_pDoc->GetString( aPos));
+ CPPUNIT_ASSERT_EQUAL( OUString(aPrefix + OUString::createFromAscii( aHlNames[i].pSum4)),
+ OUString(aPrefix + m_pDoc->GetString( aPos)));
}
// Use the named expressions in SUM() formulas, on row 13 that does not intersect.
@@ -6698,8 +6698,8 @@ void Test::testFuncTableRef()
m_pDoc->SetString( aPos, aFormula);
// For easier "debugability" have position and formula in assertion.
OUString aPrefix( aPos.Format(ScRefFlags::VALID) + " " + aFormula + " : ");
- CPPUNIT_ASSERT_EQUAL( aPrefix + OUString::createFromAscii( aHlNames[i].pSumX),
- aPrefix + m_pDoc->GetString( aPos));
+ CPPUNIT_ASSERT_EQUAL( OUString(aPrefix + OUString::createFromAscii( aHlNames[i].pSumX)),
+ OUString(aPrefix + m_pDoc->GetString( aPos)));
}
// Insert a column at column F to extend database range from column E,F to
@@ -6715,8 +6715,8 @@ void Test::testFuncTableRef()
ScAddress aPos(8+i,11,0);
// For easier "debugability" have position and formula in assertion.
OUString aPrefix( aPos.Format(ScRefFlags::VALID) + " " + aFormula + " : ");
- CPPUNIT_ASSERT_EQUAL( aPrefix + OUString::createFromAscii( aHlNames[i].pSum4),
- aPrefix + m_pDoc->GetString( aPos));
+ CPPUNIT_ASSERT_EQUAL( OUString(aPrefix + OUString::createFromAscii( aHlNames[i].pSum4)),
+ OUString(aPrefix + m_pDoc->GetString( aPos)));
}
const char* pColumn3Formula = "=SUM(hltable[[#Data];[Column3]])";