diff options
-rw-r--r-- | tools/inc/tools/string.hxx | 2 | ||||
-rw-r--r-- | tools/qa/makefile.mk | 3 | ||||
-rw-r--r-- | tools/qa/test_strings.cxx | 91 | ||||
-rw-r--r-- | tools/source/string/strimp.cxx | 69 |
4 files changed, 1 insertions, 164 deletions
diff --git a/tools/inc/tools/string.hxx b/tools/inc/tools/string.hxx index 019611fd9754..ad2afc842b6b 100644 --- a/tools/inc/tools/string.hxx +++ b/tools/inc/tools/string.hxx @@ -301,7 +301,6 @@ public: xub_StrLen nLen = STRING_LEN ) const; StringCompare CompareTo( const sal_Char* pCharStr, xub_StrLen nLen = STRING_LEN ) const; - StringCompare CompareToNumeric( const ByteString& rStr ) const; StringCompare CompareIgnoreCaseToAscii( const ByteString& rStr, xub_StrLen nLen = STRING_LEN ) const; StringCompare CompareIgnoreCaseToAscii( const sal_Char* pCharStr, @@ -598,7 +597,6 @@ public: xub_StrLen nLen = STRING_LEN ) const; StringCompare CompareToAscii( const sal_Char* pAsciiStr, xub_StrLen nLen = STRING_LEN ) const; - StringCompare CompareToNumeric( const UniString& rStr ) const; StringCompare CompareIgnoreCaseToAscii( const UniString& rStr, xub_StrLen nLen = STRING_LEN ) const; StringCompare CompareIgnoreCaseToAscii( const sal_Unicode* pCharStr, diff --git a/tools/qa/makefile.mk b/tools/qa/makefile.mk index 06c2cb1a03e4..e82b39337ac2 100644 --- a/tools/qa/makefile.mk +++ b/tools/qa/makefile.mk @@ -39,8 +39,7 @@ SHL1TARGET=test_tools SHL1OBJS=\ $(SLO)$/pathutils.obj \ $(SLO)$/test_pathutils.obj \ - $(SLO)$/test_reversemap.obj \ - $(SLO)$/test_strings.obj + $(SLO)$/test_reversemap.obj SHL1STDLIBS = $(TOOLSLIB) $(CPPUNITLIB) $(SALLIB) SHL1VERSIONMAP = version.map SHL1IMPLIB = i$(SHL1TARGET) diff --git a/tools/qa/test_strings.cxx b/tools/qa/test_strings.cxx deleted file mode 100644 index 90a2ce8b6c95..000000000000 --- a/tools/qa/test_strings.cxx +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#include <cppunit/TestFixture.h> -#include <cppunit/extensions/HelperMacros.h> -#include <cppunit/plugin/TestPlugIn.h> - -#include <tools/string.hxx> - -namespace test { - namespace unistring { - /** - * test::unistring::Compare Perform comparison functions - * tests on UniString. - */ - class Compare: public CppUnit::TestFixture - { - private: - /** - * Performs tests on natural comparison function - */ - void testCompareToNumeric(); - - CPPUNIT_TEST_SUITE(Compare); - CPPUNIT_TEST(testCompareToNumeric); - CPPUNIT_TEST_SUITE_END(); - - }; - } -} - -#define US_FROM_STRING(STRING) UniString((STRING), RTL_TEXTENCODING_UTF8) - -void test::unistring::Compare::testCompareToNumeric() -{ -// --- Some generic tests to ensure we do not alter original behavior -// outside what we want - CPPUNIT_ASSERT( - US_FROM_STRING("ABC").CompareToNumeric(US_FROM_STRING("ABC")) == COMPARE_EQUAL - ); - // Case sensitivity - CPPUNIT_ASSERT( - US_FROM_STRING("ABC").CompareToNumeric(US_FROM_STRING("abc")) == COMPARE_LESS - ); - // Reverse - CPPUNIT_ASSERT( - US_FROM_STRING("abc").CompareToNumeric(US_FROM_STRING("ABC")) == COMPARE_GREATER - ); - // First shorter - CPPUNIT_ASSERT( - US_FROM_STRING("alongstring").CompareToNumeric(US_FROM_STRING("alongerstring")) == COMPARE_GREATER - ); - // Second shorter - CPPUNIT_ASSERT( - US_FROM_STRING("alongerstring").CompareToNumeric(US_FROM_STRING("alongstring")) == COMPARE_LESS - ); -// -- Here we go on natural order, each one is followed by classic compare and the reverse comparison - // That's why we originally made the patch - CPPUNIT_ASSERT( - US_FROM_STRING("Heading 9").CompareToNumeric(US_FROM_STRING("Heading 10")) == COMPARE_LESS - ); - // Original behavior - CPPUNIT_ASSERT( - US_FROM_STRING("Heading 9").CompareTo(US_FROM_STRING("Heading 10")) == COMPARE_GREATER - ); - CPPUNIT_ASSERT( - US_FROM_STRING("Heading 10").CompareToNumeric(US_FROM_STRING("Heading 9")) == COMPARE_GREATER - ); - // Harder - CPPUNIT_ASSERT( - US_FROM_STRING("July, the 4th").CompareToNumeric(US_FROM_STRING("July, the 10th")) == COMPARE_LESS - ); - CPPUNIT_ASSERT( - US_FROM_STRING("July, the 4th").CompareTo(US_FROM_STRING("July, the 10th")) == COMPARE_GREATER - ); - CPPUNIT_ASSERT( - US_FROM_STRING("July, the 10th").CompareToNumeric(US_FROM_STRING("July, the 4th")) == COMPARE_GREATER - ); - // Hardest - CPPUNIT_ASSERT( - US_FROM_STRING("abc08").CompareToNumeric(US_FROM_STRING("abc010")) == COMPARE_LESS - ); - CPPUNIT_ASSERT( - US_FROM_STRING("abc08").CompareTo(US_FROM_STRING("abc010")) == COMPARE_GREATER - ); - CPPUNIT_ASSERT( - US_FROM_STRING("abc010").CompareToNumeric(US_FROM_STRING("abc08")) == COMPARE_GREATER - ); -} - -CPPUNIT_TEST_SUITE_REGISTRATION(test::unistring::Compare); - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/tools/source/string/strimp.cxx b/tools/source/string/strimp.cxx index 54efd7b66182..72e6fcdea593 100644 --- a/tools/source/string/strimp.cxx +++ b/tools/source/string/strimp.cxx @@ -30,8 +30,6 @@ // ======================================================================= -#define IS_DIGIT(CHAR) (((CHAR) >= 48) && ((CHAR <= 57))) - static sal_Int32 ImplStringCompare( const STRCODE* pStr1, const STRCODE* pStr2 ) { sal_Int32 nRet; @@ -63,55 +61,6 @@ static sal_Int32 ImplStringCompare( const STRCODE* pStr1, const STRCODE* pStr2, return nRet; } -static sal_Int32 ImplStringCompareToNumeric( const STRCODE* pStr1, const STRCODE* pStr2 ) -{ - sal_Int32 nRet = 0; - do - { - while ( ((nRet = ((sal_Int32)((STRCODEU)*pStr1))- - ((sal_Int32)((STRCODEU)*pStr2))) == 0) && - *pStr2 ) - { - pStr1++; - pStr2++; - } - - if(*pStr1 && *pStr2) - { - STRCODE c1 = ( *pStr1 ); - STRCODE c2 = ( *pStr2 ); - sal_Int64 number1 = 0; - sal_Int64 number2 = 0; - if(IS_DIGIT(c1) && IS_DIGIT(c2)) - { - do - { - number1 = number1 * 10 + (c1 - '0'); - pStr1++; - c1 = ( *pStr1 ); - } - while(c1 && IS_DIGIT(c1)); - - do - { - number2 = number2 * 10 + (c2 - '0'); - pStr2++; - c2 = ( *pStr2 ); - } - while(c2 && IS_DIGIT(c2)); - - if(number1 != number2) - { - nRet = number1 - number2; - } - } - } - } - while(nRet == 0 && *pStr1 && *pStr2); - - return nRet; -} - // ----------------------------------------------------------------------- static sal_Int32 ImplStringCompareWithoutZero( const STRCODE* pStr1, const STRCODE* pStr2, @@ -1328,24 +1277,6 @@ StringCompare STRING::CompareTo( const STRCODE* pCharStr, xub_StrLen nLen ) cons return COMPARE_GREATER; } -StringCompare STRING::CompareToNumeric( const STRING& rStr) const -{ - // ensure arguments' types - DBG_CHKTHIS( STRING, DBGCHECKSTRING ); - DBG_CHKOBJ( &rStr, STRING, DBGCHECKSTRING ); - - if ( mpData == rStr.mpData ) - return COMPARE_EQUAL; - - sal_Int32 nCompare = ImplStringCompareToNumeric( mpData->maStr, rStr.mpData->maStr ); - - if( nCompare == 0) - return COMPARE_EQUAL; - else if(nCompare < 0 ) - return COMPARE_LESS; - else - return COMPARE_GREATER; -} // ----------------------------------------------------------------------- StringCompare STRING::CompareIgnoreCaseToAscii( const STRING& rStr, |