| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| |
| // MARKER(update_precomp.py): autogen include statement, do not remove |
| #include "precompiled_sal.hxx" |
| #include "gtest/gtest.h" |
| #include <rtl/ustring.hxx> |
| |
| /** print a UNI_CODE file name. |
| */ |
| inline void printOUString( ::rtl::OUString const & _suStr ) |
| { |
| rtl::OString aString; |
| |
| printf( "OUString: " ); |
| aString = ::rtl::OUStringToOString( _suStr, RTL_TEXTENCODING_ASCII_US ); |
| printf( "%s\n", aString.getStr( ) ); |
| } |
| |
| |
| namespace rtl_ustr |
| { |
| |
| class compare : public ::testing::Test |
| { |
| public: |
| }; // class compare |
| |
| TEST_F(compare, compare_000) |
| { |
| rtl_ustr_compare( NULL, NULL); |
| // should not GPF |
| } |
| |
| TEST_F(compare, compare_000_1) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl_ustr_compare( aStr1.getStr(), NULL); |
| // should not GPF |
| } |
| TEST_F(compare, compare_001) |
| { |
| rtl::OUString aStr1; |
| rtl::OUString aStr2; |
| |
| sal_Int32 nValue = rtl_ustr_compare( aStr1.getStr(), aStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(compare, compare_002) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl::OUString aStr2 = rtl::OUString::createFromAscii("Line must be equal."); |
| |
| sal_Int32 nValue = rtl_ustr_compare( aStr1.getStr(), aStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(compare, compare_003) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must differ."); |
| rtl::OUString aStr2 = rtl::OUString::createFromAscii("Line foo bar, ok, differ."); |
| |
| sal_Int32 nValue = rtl_ustr_compare( aStr1.getStr(), aStr2.getStr()); |
| ASSERT_TRUE(nValue != 0) << "compare failed, strings differ."; |
| } |
| |
| class compareIgnoreAsciiCase : public ::testing::Test |
| { |
| public: |
| }; // class compareIgnoreAsciiCase |
| |
| TEST_F(compareIgnoreAsciiCase, compare_000) |
| { |
| rtl_ustr_compareIgnoreAsciiCase( NULL, NULL); |
| } |
| |
| TEST_F(compareIgnoreAsciiCase, compare_000_1) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl_ustr_compareIgnoreAsciiCase( aStr1.getStr(), NULL); |
| } |
| TEST_F(compareIgnoreAsciiCase, compare_001) |
| { |
| rtl::OUString aStr1; |
| rtl::OUString aStr2; |
| |
| sal_Int32 nValue = rtl_ustr_compareIgnoreAsciiCase( aStr1.getStr(), aStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(compareIgnoreAsciiCase, compare_002) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl::OUString aStr2 = rtl::OUString::createFromAscii("Line must be equal."); |
| |
| sal_Int32 nValue = rtl_ustr_compareIgnoreAsciiCase( aStr1.getStr(), aStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(compareIgnoreAsciiCase, compare_002_1) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl::OUString aStr2 = rtl::OUString::createFromAscii("LINE MUST BE EQUAL."); |
| |
| sal_Int32 nValue = rtl_ustr_compareIgnoreAsciiCase( aStr1.getStr(), aStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal (if case insensitve)."; |
| } |
| |
| TEST_F(compareIgnoreAsciiCase, compare_003) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must differ."); |
| rtl::OUString aStr2 = rtl::OUString::createFromAscii("Line foo bar, ok, differ."); |
| |
| sal_Int32 nValue = rtl_ustr_compareIgnoreAsciiCase( aStr1.getStr(), aStr2.getStr()); |
| ASSERT_TRUE(nValue != 0) << "compare failed, strings differ."; |
| } |
| // ----------------------------------------------------------------------------- |
| |
| class shortenedCompareIgnoreAsciiCase_WithLength : public ::testing::Test |
| { |
| public: |
| }; // class compare |
| |
| TEST_F(shortenedCompareIgnoreAsciiCase_WithLength, compare_000) |
| { |
| rtl_ustr_shortenedCompareIgnoreAsciiCase_WithLength( NULL, 0, NULL, 0, 0); |
| } |
| |
| TEST_F(shortenedCompareIgnoreAsciiCase_WithLength, compare_000_1) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl_ustr_shortenedCompareIgnoreAsciiCase_WithLength( aStr1.getStr(), aStr1.getLength(), NULL, 0, 1); |
| } |
| TEST_F(shortenedCompareIgnoreAsciiCase_WithLength, compare_001) |
| { |
| rtl::OUString aStr1; |
| rtl::OUString aStr2; |
| |
| sal_Int32 nValue = rtl_ustr_shortenedCompareIgnoreAsciiCase_WithLength( aStr1.getStr(), aStr1.getLength(), aStr2.getStr(), aStr2.getLength(), aStr1.getLength()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(shortenedCompareIgnoreAsciiCase_WithLength, compare_002) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl::OUString aStr2 = rtl::OUString::createFromAscii("Line must be equal."); |
| |
| sal_Int32 nValue = rtl_ustr_shortenedCompareIgnoreAsciiCase_WithLength( aStr1.getStr(), aStr1.getLength(), |
| aStr2.getStr(), aStr2.getLength(), |
| aStr1.getLength()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(shortenedCompareIgnoreAsciiCase_WithLength, compare_002_1) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl::OUString aStr2 = rtl::OUString::createFromAscii("LINE MUST BE EQUAL."); |
| |
| sal_Int32 nValue = rtl_ustr_shortenedCompareIgnoreAsciiCase_WithLength( aStr1.getStr(), aStr1.getLength(), |
| aStr2.getStr(), aStr2.getLength(), |
| aStr1.getLength()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal (if case insensitve)."; |
| } |
| |
| TEST_F(shortenedCompareIgnoreAsciiCase_WithLength, compare_003) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must differ."); |
| rtl::OUString aStr2 = rtl::OUString::createFromAscii("Line foo bar, ok, differ."); |
| |
| sal_Int32 nValue = rtl_ustr_shortenedCompareIgnoreAsciiCase_WithLength( aStr1.getStr(), aStr1.getLength(), |
| aStr2.getStr(), aStr2.getLength(), |
| 5); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal first 5 characters."; |
| } |
| |
| TEST_F(shortenedCompareIgnoreAsciiCase_WithLength, compare_004) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must differ."); |
| rtl::OUString aStr2 = rtl::OUString::createFromAscii("Line foo bar, ok, differ."); |
| |
| sal_Int32 nValue = rtl_ustr_shortenedCompareIgnoreAsciiCase_WithLength( aStr1.getStr(), aStr1.getLength(), |
| aStr2.getStr(), aStr2.getLength(), |
| aStr1.getLength()); |
| ASSERT_TRUE(nValue != 0) << "compare failed, strings differ."; |
| } |
| |
| // // ----------------------------------------------------------------------------- |
| // |
| // class hashCode : public ::testing::Test |
| // { |
| // public: |
| // }; |
| // |
| // TEST_F(hashCode, hashCode_000) |
| // { |
| // sal_Int32 nHashCode = rtl_ustr_hashCode( NULL ); |
| // volatile int dummy = 0; |
| // } |
| // |
| // TEST_F(hashCode, hashCode_001) |
| // { |
| // rtl::OString aStr1 = "Line for a hashCode."; |
| // sal_Int32 nHashCode = rtl_ustr_hashCode( aStr1.getStr() ); |
| // printf("hashcode: %d\n", nHashCode); |
| // // ASSERT_TRUE(nValue == 0) << "failed."; |
| // } |
| // |
| // TEST_F(hashCode, hashCode_002) |
| // { |
| // rtl::OString aStr1 = "Line for a hashCode."; |
| // sal_Int32 nHashCode1 = rtl_ustr_hashCode( aStr1.getStr() ); |
| // |
| // rtl::OString aStr2 = "Line for a hashCode."; |
| // sal_Int32 nHashCode2 = rtl_ustr_hashCode( aStr2.getStr() ); |
| // |
| // ASSERT_TRUE(nHashCode1 == nHashCode2) << "hashcodes must be equal."; |
| // } |
| // |
| // TEST_F(hashCode, hashCode_003) |
| // { |
| // rtl::OString aStr1 = "Line for a hashCode."; |
| // sal_Int32 nHashCode1 = rtl_ustr_hashCode( aStr1.getStr() ); |
| // |
| // rtl::OString aStr2 = "Line for an other hashcode."; |
| // sal_Int32 nHashCode2 = rtl_ustr_hashCode( aStr2.getStr() ); |
| // |
| // ASSERT_TRUE(nHashCode1 != nHashCode2) << "hashcodes must differ."; |
| // } |
| // |
| // |
| // // ----------------------------------------------------------------------------- |
| // |
| class indexOfChar : public ::testing::Test |
| { |
| public: |
| }; // class indexOfChar |
| |
| TEST_F(indexOfChar, indexOfChar_000) |
| { |
| rtl_ustr_indexOfChar( NULL, 0 ); |
| } |
| |
| TEST_F(indexOfChar, indexOfChar_001) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line for a indexOfChar."); |
| |
| sal_Int32 nIndex = rtl_ustr_indexOfChar( aStr1.getStr(), 'L' ); |
| ASSERT_TRUE(nIndex == 0) << "index is wrong."; |
| |
| /* sal_Int32 */ nIndex = rtl_ustr_indexOfChar( aStr1.getStr(), 'i' ); |
| ASSERT_TRUE(nIndex == 1) << "index is wrong."; |
| |
| /* sal_Int32 */ nIndex = rtl_ustr_indexOfChar( aStr1.getStr(), 'n' ); |
| ASSERT_TRUE(nIndex == 2) << "index is wrong."; |
| |
| /* sal_Int32 */ nIndex = rtl_ustr_indexOfChar( aStr1.getStr(), 'e' ); |
| ASSERT_TRUE(nIndex == 3) << "index is wrong."; |
| } |
| |
| TEST_F(indexOfChar, indexOfChar_002) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line for a indexOfChar."); |
| sal_Int32 nIndex = rtl_ustr_indexOfChar( aStr1.getStr(), 'y' ); |
| |
| ASSERT_TRUE(nIndex == -1) << "index is wrong."; |
| } |
| |
| // // ----------------------------------------------------------------------------- |
| class lastIndexOfChar : public ::testing::Test |
| { |
| public: |
| }; // class lastIndexOfChar |
| |
| TEST_F(lastIndexOfChar, lastIndexOfChar_000) |
| { |
| rtl_ustr_lastIndexOfChar( NULL, 0 ); |
| } |
| |
| TEST_F(lastIndexOfChar, lastIndexOfChar_001) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line for a lastIndexOfChar."); |
| |
| sal_Int32 nIndex = rtl_ustr_lastIndexOfChar( aStr1.getStr(), 'C' ); |
| ASSERT_TRUE(nIndex == 22) << "index is wrong."; |
| |
| /* sal_Int32 */ nIndex = rtl_ustr_lastIndexOfChar( aStr1.getStr(), 'h' ); |
| ASSERT_TRUE(nIndex == 23) << "index is wrong."; |
| |
| /* sal_Int32 */ nIndex = rtl_ustr_lastIndexOfChar( aStr1.getStr(), 'a' ); |
| ASSERT_TRUE(nIndex == 24) << "index is wrong."; |
| |
| /* sal_Int32 */ nIndex = rtl_ustr_lastIndexOfChar( aStr1.getStr(), 'r' ); |
| ASSERT_TRUE(nIndex == 25) << "index is wrong."; |
| } |
| |
| TEST_F(lastIndexOfChar, lastIndexOfChar_002) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line for a lastIndexOfChar."); |
| sal_Int32 nIndex = rtl_ustr_lastIndexOfChar( aStr1.getStr(), 'y' ); |
| |
| ASSERT_TRUE(nIndex == -1) << "index is wrong."; |
| } |
| |
| // ----------------------------------------------------------------------------- |
| |
| class indexOfStr : public ::testing::Test |
| { |
| public: |
| }; // class compare |
| |
| TEST_F(indexOfStr, indexOfStr_000) |
| { |
| rtl_ustr_indexOfStr( NULL, 0 ); |
| } |
| |
| TEST_F(indexOfStr, indexOfStr_000_1) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line for a indexOfStr."); |
| rtl_ustr_indexOfStr( aStr1.getStr(), 0 ); |
| } |
| |
| TEST_F(indexOfStr, indexOfStr_001) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line for a indexOfStr."); |
| |
| rtl::OUString suSearch = rtl::OUString::createFromAscii("Line"); |
| sal_Int32 nIndex = rtl_ustr_indexOfStr( aStr1.getStr(), suSearch.getStr() ); |
| ASSERT_TRUE(nIndex == 0) << "index is wrong."; |
| |
| /* rtl::OUString */ suSearch = rtl::OUString::createFromAscii("for"); |
| /* sal_Int32 */ nIndex = rtl_ustr_indexOfStr( aStr1.getStr(), suSearch.getStr() ); |
| ASSERT_TRUE(nIndex == 5) << "index is wrong."; |
| |
| /* rtl::OUString */ suSearch = rtl::OUString::createFromAscii("a"); |
| /* sal_Int32 */ nIndex = rtl_ustr_indexOfStr( aStr1.getStr(), suSearch.getStr() ); |
| ASSERT_TRUE(nIndex == 9) << "index is wrong."; |
| |
| /* rtl::OUString */ suSearch = rtl::OUString::createFromAscii("a index"); |
| /* sal_Int32 */ nIndex = rtl_ustr_indexOfStr( aStr1.getStr(), suSearch.getStr() ); |
| ASSERT_TRUE(nIndex ==9) << "index is wrong."; |
| } |
| |
| TEST_F(indexOfStr, indexOfStr_002) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line for a indexOfStr."); |
| rtl::OUString suSearch = rtl::OUString::createFromAscii("not exist"); |
| sal_Int32 nIndex = rtl_ustr_indexOfStr( aStr1.getStr(), suSearch.getStr() ); |
| |
| ASSERT_TRUE(nIndex == -1) << "index is wrong."; |
| } |
| |
| // ----------------------------------------------------------------------------- |
| |
| |
| class lastIndexOfStr : public ::testing::Test |
| { |
| public: |
| }; // class lastIndexOfStr |
| |
| TEST_F(lastIndexOfStr, lastIndexOfStr_000) |
| { |
| rtl_ustr_lastIndexOfStr( NULL, NULL ); |
| } |
| |
| TEST_F(lastIndexOfStr, lastIndexOfStr_000_1) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line for a lastIndexOfStr."); |
| rtl_ustr_lastIndexOfStr( aStr1.getStr(), NULL ); |
| } |
| |
| TEST_F(lastIndexOfStr, lastIndexOfStr_001) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line for a lastIndexOfStr."); |
| rtl::OUString aSearchStr = rtl::OUString::createFromAscii("Index"); |
| |
| sal_Int32 nIndex = rtl_ustr_lastIndexOfStr( aStr1.getStr(), aSearchStr.getStr() ); |
| ASSERT_TRUE(nIndex == 15) << "index is wrong."; |
| |
| /* rtl::OString */ aSearchStr = rtl::OUString::createFromAscii("Line"); |
| /* sal_Int32 */ nIndex = rtl_ustr_lastIndexOfStr( aStr1.getStr(), aSearchStr.getStr() ); |
| ASSERT_TRUE(nIndex == 0) << "index is wrong."; |
| |
| /* rtl::OString */ aSearchStr = rtl::OUString::createFromAscii(""); |
| /* sal_Int32 */ nIndex = rtl_ustr_lastIndexOfStr( aStr1.getStr(), aSearchStr.getStr() ); |
| ASSERT_TRUE(nIndex == -1) << "index is wrong."; |
| } |
| |
| TEST_F(lastIndexOfStr, lastIndexOfStr_002) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line for a lastIndexOfStr."); |
| rtl::OUString aSearchStr = rtl::OUString::createFromAscii("foo"); |
| sal_Int32 nIndex = rtl_ustr_lastIndexOfStr( aStr1.getStr(), aSearchStr.getStr() ); |
| |
| ASSERT_TRUE(nIndex == -1) << "index is wrong."; |
| } |
| |
| TEST_F(lastIndexOfStr, lastIndexOfStr_003) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line for a lastIndexOfStr."); |
| rtl::OUString aSearchStr = rtl::OUString::createFromAscii("O"); |
| sal_Int32 nIndex = rtl_ustr_lastIndexOfStr( aStr1.getStr(), aSearchStr.getStr() ); |
| |
| ASSERT_TRUE(nIndex == 20) << "index is wrong."; |
| } |
| |
| // ----------------------------------------------------------------------------- |
| |
| class replaceChar : public ::testing::Test |
| { |
| public: |
| }; // class replaceChar |
| |
| TEST_F(replaceChar, replaceChar_000) |
| { |
| rtl_ustr_replaceChar( NULL, 0, 0 ); |
| } |
| |
| TEST_F(replaceChar, replaceChar_001) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("replace char."); |
| rtl::OUString aShouldStr1 = rtl::OUString::createFromAscii("ruplacu char."); |
| |
| sal_uInt32 nLength = aStr1.getLength() * sizeof(sal_Unicode); |
| sal_Unicode* pStr = (sal_Unicode*) malloc( nLength + sizeof(sal_Unicode)); // length + 1 (null terminator) |
| ASSERT_TRUE(pStr != NULL) << "can't get memory for test"; |
| memset(pStr, 0, nLength + sizeof(sal_Unicode)); |
| memcpy(pStr, aStr1.getStr(), nLength); |
| |
| rtl_ustr_replaceChar( pStr, 'e', 'u' ); |
| rtl::OUString suStr(pStr, aStr1.getLength()); |
| |
| ASSERT_TRUE(aShouldStr1.equals(suStr) == sal_True) << "replace failed"; |
| free(pStr); |
| } |
| |
| // ----------------------------------------------------------------------------- |
| |
| class replaceChar_WithLength : public ::testing::Test |
| { |
| public: |
| }; // class replaceChar |
| |
| TEST_F(replaceChar_WithLength, replaceChar_WithLength_000) |
| { |
| rtl_ustr_replaceChar_WithLength( NULL, 0, 0, 0 ); |
| } |
| |
| TEST_F(replaceChar_WithLength, replaceChar_WithLength_000_1) |
| { |
| rtl_ustr_replaceChar_WithLength( NULL, 1, 0, 0 ); |
| } |
| TEST_F(replaceChar_WithLength, replaceChar_WithLength_001) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("replace char."); |
| rtl::OUString aShouldStr1 = rtl::OUString::createFromAscii("ruplace char."); |
| |
| sal_uInt32 nLength = aStr1.getLength() * sizeof(sal_Unicode); |
| sal_Unicode* pStr = (sal_Unicode*) malloc(nLength); |
| ASSERT_TRUE(pStr != NULL) << "can't get memory for test"; |
| memcpy(pStr, aStr1.getStr(), nLength); |
| |
| rtl_ustr_replaceChar_WithLength( pStr, 6, 'e', 'u' ); |
| rtl::OUString suStr(pStr, aStr1.getLength()); |
| |
| ASSERT_TRUE(aShouldStr1.equals(suStr) == sal_True) << "replace failed"; |
| free(pStr); |
| } |
| |
| TEST_F(replaceChar_WithLength, replaceChar_WithLength_002) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("eeeeeeeeeeeee"); |
| rtl::OUString aShouldStr1 = rtl::OUString::createFromAscii("uuuuuueeeeeee"); |
| |
| sal_uInt32 nLength = aStr1.getLength() * sizeof(sal_Unicode); |
| sal_Unicode* pStr = (sal_Unicode*) malloc(nLength); // no null terminator is need |
| ASSERT_TRUE(pStr != NULL) << "can't get memory for test"; |
| memcpy(pStr, aStr1.getStr(), nLength); |
| |
| rtl_ustr_replaceChar_WithLength( pStr, 6, 'e', 'u' ); |
| rtl::OUString suStr(pStr, aStr1.getLength()); |
| |
| ASSERT_TRUE(aShouldStr1.equals(suStr) == sal_True) << "replace failed"; |
| free(pStr); |
| } |
| |
| // ----------------------------------------------------------------------------- |
| |
| class toAsciiLowerCase : public ::testing::Test |
| { |
| public: |
| }; // class replaceChar |
| |
| TEST_F(toAsciiLowerCase, toAsciiLowerCase_000) |
| { |
| rtl_ustr_toAsciiLowerCase( NULL ); |
| } |
| |
| TEST_F(toAsciiLowerCase, toAsciiLowerCase_001) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("CHANGE THIS TO ASCII LOWER CASE."); |
| rtl::OUString aShouldStr1 = rtl::OUString::createFromAscii("change this to ascii lower case."); |
| |
| sal_uInt32 nLength = aStr1.getLength() * sizeof(sal_Unicode); |
| sal_Unicode* pStr = (sal_Unicode*) malloc(nLength + sizeof(sal_Unicode) ); // we need to add '\0' so one more |
| ASSERT_TRUE(pStr != NULL) << "can't get memory for test"; |
| memset(pStr, 0, nLength + sizeof(sal_Unicode)); // empty the sal_Unicode array |
| memcpy(pStr, aStr1.getStr(), nLength); |
| |
| rtl_ustr_toAsciiLowerCase( pStr ); |
| rtl::OUString suStr(pStr, aStr1.getLength()); |
| |
| ASSERT_TRUE(aShouldStr1.equals(suStr) == sal_True) << "failed"; |
| free(pStr); |
| } |
| |
| class toAsciiLowerCase_WithLength : public ::testing::Test |
| { |
| }; // class replaceChar |
| |
| TEST_F(toAsciiLowerCase, toAsciiLowerCase_WithLength_000) |
| { |
| rtl_ustr_toAsciiLowerCase_WithLength( NULL, 0 ); |
| } |
| |
| TEST_F(toAsciiLowerCase, toAsciiLowerCase_WithLength_001) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("CHANGE THIS TO ASCII LOWER CASE."); |
| rtl::OUString aShouldStr1 = rtl::OUString::createFromAscii("change thiS TO ASCII LOWER CASE."); |
| |
| sal_uInt32 nLength = aStr1.getLength() * sizeof(sal_Unicode); |
| sal_Unicode* pStr = (sal_Unicode*) malloc(nLength); |
| ASSERT_TRUE(pStr != NULL) << "can't get memory for test"; |
| memcpy(pStr, aStr1.getStr(), nLength); |
| |
| rtl_ustr_toAsciiLowerCase_WithLength( pStr, 10 ); |
| |
| rtl::OUString suStr(pStr, aStr1.getLength()); |
| sal_Bool bResult = aShouldStr1.equals(suStr); |
| |
| printOUString(suStr); |
| printf("Result length: %d\n", suStr.getLength() ); |
| printf("Result: %d\n", bResult); |
| |
| ASSERT_TRUE(bResult == sal_True) << "failed"; |
| free(pStr); |
| } |
| |
| // ----------------------------------------------------------------------------- |
| |
| class toAsciiUpperCase : public ::testing::Test |
| { |
| public: |
| }; // class replaceChar |
| |
| TEST_F(toAsciiUpperCase, toAsciiUpperCase_000) |
| { |
| rtl_ustr_toAsciiUpperCase( NULL ); |
| } |
| |
| TEST_F(toAsciiUpperCase, toAsciiUpperCase_001) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("change this to ascii upper case."); |
| rtl::OUString aShouldStr1 = rtl::OUString::createFromAscii("CHANGE THIS TO ASCII UPPER CASE."); |
| |
| sal_uInt32 nLength = aStr1.getLength() * sizeof(sal_Unicode); |
| sal_Unicode* pStr = (sal_Unicode*) malloc(nLength + sizeof(sal_Unicode)); // length + null terminator |
| ASSERT_TRUE(pStr != NULL) << "can't get memory for test"; |
| memset(pStr, 0, nLength + sizeof(sal_Unicode)); |
| memcpy(pStr, aStr1.getStr(), nLength); |
| |
| rtl_ustr_toAsciiUpperCase( pStr ); |
| rtl::OUString suStr(pStr, aStr1.getLength()); |
| |
| ASSERT_TRUE(aShouldStr1.equals(suStr) == sal_True) << "failed"; |
| free(pStr); |
| } |
| |
| class toAsciiUpperCase_WithLength : public ::testing::Test |
| { |
| public: |
| }; // class replaceChar |
| |
| TEST_F(toAsciiUpperCase_WithLength, toAsciiUpperCase_WithLength_000) |
| { |
| rtl_ustr_toAsciiUpperCase_WithLength( NULL, 0 ); |
| } |
| |
| TEST_F(toAsciiUpperCase_WithLength, toAsciiUpperCase_WithLength_001) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("change this to ascii lower case."); |
| rtl::OUString aShouldStr1 = rtl::OUString::createFromAscii("CHANGE THIs to ascii lower case."); |
| |
| sal_uInt32 nLength = aStr1.getLength() * sizeof(sal_Unicode); |
| sal_Unicode* pStr = (sal_Unicode*) malloc(nLength); |
| ASSERT_TRUE(pStr != NULL) << "can't get memory for test"; |
| |
| memcpy(pStr, aStr1.getStr(), nLength); |
| rtl_ustr_toAsciiUpperCase_WithLength( pStr, 10 ); |
| rtl::OUString suStr(pStr, aStr1.getLength()); |
| |
| // printf("Uppercase with length: '%s'\n", aStr1.getStr()); |
| ASSERT_TRUE(aShouldStr1.equals(suStr) == sal_True) << "failed"; |
| free(pStr); |
| } |
| |
| // ----------------------------------------------------------------------------- |
| |
| class trim_WithLength : public ::testing::Test |
| { |
| public: |
| }; |
| |
| TEST_F(trim_WithLength, trim_WithLength_000) |
| { |
| rtl_ustr_trim_WithLength(NULL, 0); |
| // should not GPF |
| } |
| |
| TEST_F(trim_WithLength, trim_WithLength_000_1) |
| { |
| rtl::OUString suStr = rtl::OUString::createFromAscii(" trim this"); |
| |
| sal_uInt32 nLength = suStr.getLength() * sizeof(sal_Unicode); |
| sal_Unicode *pStr = (sal_Unicode*)malloc(nLength); |
| memcpy(pStr, suStr.getStr(), nLength); |
| |
| rtl_ustr_trim_WithLength( pStr, 0 ); |
| free(pStr); |
| } |
| |
| TEST_F(trim_WithLength, trim_WithLength_001) |
| { |
| rtl::OUString suStr = rtl::OUString::createFromAscii(" trim this"); |
| sal_uInt32 nLength = suStr.getLength() * sizeof(sal_Unicode); |
| sal_Unicode *pStr = (sal_Unicode*)malloc(nLength); |
| memcpy(pStr, suStr.getStr(), nLength); |
| |
| rtl_ustr_trim_WithLength( pStr, 2 ); |
| |
| ASSERT_TRUE(rtl::OUString(pStr).getLength() == 0) << "string should be empty"; |
| free(pStr); |
| } |
| |
| |
| TEST_F(trim_WithLength, trim_WithLength_002) |
| { |
| rtl::OUString suStr = rtl::OUString::createFromAscii("trim this"); |
| |
| sal_uInt32 nLength = suStr.getLength() * sizeof(sal_Unicode); |
| sal_Unicode *pStr = (sal_Unicode*)malloc(nLength); |
| memcpy(pStr, suStr.getStr(), nLength); |
| |
| rtl_ustr_trim_WithLength( pStr, 5 ); |
| |
| ASSERT_TRUE(rtl::OUString(pStr).getLength() == 4) << "string should contain 'trim'"; |
| free(pStr); |
| } |
| |
| |
| TEST_F(trim_WithLength, trim_WithLength_003) |
| { |
| rtl::OUString suStr = rtl::OUString::createFromAscii(" trim this"); |
| |
| sal_uInt32 nLength = suStr.getLength() * sizeof(sal_Unicode); |
| sal_Unicode *pStr = (sal_Unicode*)malloc(nLength); |
| memcpy(pStr, suStr.getStr(), nLength); |
| |
| rtl_ustr_trim_WithLength( pStr, 11 ); |
| |
| ASSERT_TRUE(rtl::OUString(pStr).getLength() == 4) << "string should contain 'trim'"; |
| free(pStr); |
| } |
| |
| TEST_F(trim_WithLength, trim_WithLength_004) |
| { |
| rtl::OUString suStr = rtl::OUString::createFromAscii("\r\n\t \n\r trim \n this"); |
| |
| sal_uInt32 nLength = suStr.getLength() * sizeof(sal_Unicode); |
| sal_Unicode *pStr = (sal_Unicode*)malloc(nLength); |
| memcpy(pStr, suStr.getStr(), nLength); |
| |
| rtl_ustr_trim_WithLength( pStr, 17 ); |
| |
| ASSERT_TRUE(rtl::OUString(pStr).getLength() == 4) << "string should contain 'trim'"; |
| free(pStr); |
| } |
| |
| TEST_F(trim_WithLength, trim_WithLength_005) |
| { |
| rtl::OUString suStr = rtl::OUString::createFromAscii("\r\n\t \n\r trim \t this \n\r\t\t "); |
| |
| sal_uInt32 nLength = suStr.getLength() * sizeof(sal_Unicode); |
| sal_Unicode *pStr = (sal_Unicode*)malloc(nLength); |
| memcpy(pStr, suStr.getStr(), nLength); |
| |
| rtl_ustr_trim_WithLength( pStr, suStr.getLength() ); |
| |
| ASSERT_TRUE(rtl::OUString(pStr).getLength() == 11) << "string should contain 'trim \\t this'"; |
| free(pStr); |
| } |
| |
| // ----------------------------------------------------------------------------- |
| |
| class valueOfChar : public ::testing::Test |
| { |
| public: |
| }; |
| |
| TEST_F(valueOfChar, valueOfChar_000) |
| { |
| rtl_ustr_valueOfChar(NULL, 0); |
| // should not GPF |
| } |
| TEST_F(valueOfChar, valueOfChar_001) |
| { |
| sal_Unicode *pStr = (sal_Unicode*)malloc(RTL_USTR_MAX_VALUEOFCHAR); |
| if (pStr) |
| { |
| rtl_ustr_valueOfChar(pStr, 'A'); |
| |
| ASSERT_TRUE(pStr[0] == L'A') << "string should contain 'A'"; |
| free(pStr); |
| } |
| } |
| |
| |
| class ascii_compare_WithLength : public ::testing::Test |
| { |
| public: |
| }; |
| |
| TEST_F(ascii_compare_WithLength, zero_length) |
| { |
| sal_Unicode pUnicode[] = {0xffff, 0xffff}; |
| char const * pAscii = "reference"; |
| |
| sal_Int32 value = rtl_ustr_ascii_compare_WithLength(pUnicode, 0, pAscii); |
| ASSERT_TRUE(value < 0) << "ref string is empty, compare failed, needs to be <0."; |
| } |
| |
| TEST_F(ascii_compare_WithLength, equal_ascii_shorter) |
| { |
| rtl::OUString refStr(RTL_CONSTASCII_USTRINGPARAM("referenceString")); |
| char const * pAscii = "reference"; |
| |
| sal_Int32 value = rtl_ustr_ascii_compare_WithLength(refStr.pData->buffer, refStr.pData->length, pAscii); |
| ASSERT_TRUE(value > 0) << "ref string is bigger, compare failed, needs to be >0."; |
| } |
| |
| TEST_F(ascii_compare_WithLength, equal_ascii_shorter_asciiLength) |
| { |
| rtl::OUString refStr(RTL_CONSTASCII_USTRINGPARAM("referenceString")); |
| char const * pAscii = "reference"; |
| |
| sal_Int32 value = rtl_ustr_ascii_compare_WithLength(refStr.pData->buffer, rtl_str_getLength(pAscii), pAscii); |
| ASSERT_TRUE(value == 0) << "ref string is bigger despite ascii length, compare failed, needs to be == 0."; |
| } |
| |
| TEST_F(ascii_compare_WithLength, equal_ref_shorter) |
| { |
| rtl::OUString refStr(RTL_CONSTASCII_USTRINGPARAM("reference")); |
| char const * pAscii = "referenceString"; |
| |
| sal_Int32 value = rtl_ustr_ascii_compare_WithLength(refStr.pData->buffer, refStr.pData->length, pAscii); |
| ASSERT_TRUE(value < 0) << "ascii string is bigger, but only compared to ref length, needs to be 0."; |
| } |
| |
| TEST_F(ascii_compare_WithLength, equal) |
| { |
| rtl::OUString refStr(RTL_CONSTASCII_USTRINGPARAM("reference")); |
| char const * pAscii = "reference"; |
| |
| sal_Int32 value = rtl_ustr_ascii_compare_WithLength(refStr.pData->buffer, refStr.pData->length, pAscii); |
| ASSERT_TRUE(value == 0) << "strings are equal, compare failed, needs to be 0."; |
| } |
| |
| TEST_F(ascii_compare_WithLength, unequal_reference_bigger) |
| { |
| rtl::OUString refStr(RTL_CONSTASCII_USTRINGPARAM("defghi")); |
| char const * pAscii = "abc"; |
| |
| sal_Int32 value = rtl_ustr_ascii_compare_WithLength(refStr.pData->buffer, refStr.pData->length, pAscii); |
| ASSERT_TRUE(value > 0) << "strings are unequal and ref is bigger, needs to be >0."; |
| } |
| |
| TEST_F(ascii_compare_WithLength, unequal_ascii_bigger) |
| { |
| rtl::OUString refStr(RTL_CONSTASCII_USTRINGPARAM("abc")); |
| char const * pAscii = "defghi"; |
| |
| sal_Int32 value = rtl_ustr_ascii_compare_WithLength(refStr.pData->buffer, refStr.pData->length, pAscii); |
| |
| ASSERT_TRUE(value < 0) << "strings are unequal and ascii is bigger, needs to be <0."; |
| } |
| |
| |
| class ascii_shortenedCompareIgnoreAsciiCase_WithLength : public ::testing::Test |
| { |
| public: |
| }; // class ascii_shortenedCompareIgnoreAsciiCase_WithLength |
| |
| TEST_F(ascii_shortenedCompareIgnoreAsciiCase_WithLength, ascii_shortenedCompareIgnoreAsciiCase_WithLength_000) |
| { |
| rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength( NULL, 0, NULL, 0); |
| // should not GPF |
| } |
| |
| TEST_F(ascii_shortenedCompareIgnoreAsciiCase_WithLength, ascii_shortenedCompareIgnoreAsciiCase_WithLength_000_1) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength( aStr1.getStr(), aStr1.getLength(), NULL, 0); |
| // should not GPF |
| } |
| TEST_F(ascii_shortenedCompareIgnoreAsciiCase_WithLength, ascii_shortenedCompareIgnoreAsciiCase_WithLength_000_2) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl::OString sStr2 = "Line is shorter."; |
| rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength( aStr1.getStr(), sStr2.getLength(), sStr2.getStr(), 0); |
| // should not GPF |
| } |
| TEST_F(ascii_shortenedCompareIgnoreAsciiCase_WithLength, ascii_shortenedCompareIgnoreAsciiCase_WithLength_001) |
| { |
| rtl::OUString suStr1; |
| rtl::OString sStr2; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength( suStr1.getStr(), 0, sStr2.getStr(), 0); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(ascii_shortenedCompareIgnoreAsciiCase_WithLength, ascii_shortenedCompareIgnoreAsciiCase_WithLength_002) |
| { |
| rtl::OUString suStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl::OString sStr2 = "Line must be equal."; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength( suStr1.getStr(), suStr1.getLength(), sStr2.getStr(), sStr2.getLength()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(ascii_shortenedCompareIgnoreAsciiCase_WithLength, ascii_shortenedCompareIgnoreAsciiCase_WithLength_003) |
| { |
| rtl::OUString suStr1 = rtl::OUString::createFromAscii("Line must differ."); |
| rtl::OString sStr2 = "Line must be differ and longer."; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength( suStr1.getStr(), suStr1.getLength(), sStr2.getStr(), sStr2.getLength()); |
| ASSERT_TRUE(nValue != 0) << "compare failed, strings differ."; |
| } |
| |
| // ----------------------------------------------------------------------------- |
| |
| class ascii_compareIgnoreAsciiCase_WithLength : public ::testing::Test |
| { |
| public: |
| }; // class ascii_compareIgnoreAsciiCase_WithLength |
| |
| TEST_F(ascii_compareIgnoreAsciiCase_WithLength, ascii_compareIgnoreAsciiCase_WithLength_000) |
| { |
| rtl_ustr_ascii_compareIgnoreAsciiCase_WithLength( NULL, 0, NULL); |
| // should not GPF |
| } |
| |
| TEST_F(ascii_compareIgnoreAsciiCase_WithLength, ascii_compareIgnoreAsciiCase_WithLength_000_1) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl_ustr_ascii_compareIgnoreAsciiCase_WithLength( aStr1.getStr(), 0, NULL); |
| // should not GPF |
| } |
| TEST_F(ascii_compareIgnoreAsciiCase_WithLength, ascii_compareIgnoreAsciiCase_WithLength_000_2) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl::OString sStr2 = "Line is shorter."; |
| rtl_ustr_ascii_compareIgnoreAsciiCase_WithLength( aStr1.getStr(), sStr2.getLength(), sStr2.getStr()); |
| // should not GPF |
| } |
| TEST_F(ascii_compareIgnoreAsciiCase_WithLength, ascii_compareIgnoreAsciiCase_WithLength_001) |
| { |
| rtl::OUString suStr1; |
| rtl::OString sStr2; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_compareIgnoreAsciiCase_WithLength( suStr1.getStr(), 0, sStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compareIgnoreAsciiCase_WithLength failed, strings are equal."; |
| } |
| |
| TEST_F(ascii_compareIgnoreAsciiCase_WithLength, ascii_compareIgnoreAsciiCase_WithLength_002) |
| { |
| rtl::OUString suStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl::OString sStr2 = "Line must be equal."; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_compareIgnoreAsciiCase_WithLength( suStr1.getStr(), suStr1.getLength(), sStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(ascii_compareIgnoreAsciiCase_WithLength, ascii_compareIgnoreAsciiCase_WithLength_003) |
| { |
| rtl::OUString suStr1 = rtl::OUString::createFromAscii("Line must differ."); |
| rtl::OString sStr2 = "Line must be differ and longer."; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_compareIgnoreAsciiCase_WithLength( suStr1.getStr(), suStr1.getLength(), sStr2.getStr()); |
| ASSERT_TRUE(nValue != 0) << "compare failed, strings differ."; |
| } |
| // ----------------------------------------------------------------------------- |
| |
| class ascii_compare : public ::testing::Test |
| { |
| public: |
| }; // class ascii_compare |
| |
| TEST_F(ascii_compare, ascii_compare_000) |
| { |
| rtl_ustr_ascii_compare( NULL, NULL); |
| // should not GPF |
| } |
| |
| TEST_F(ascii_compare, ascii_compare_000_1) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl_ustr_ascii_compare( aStr1.getStr(), NULL); |
| // should not GPF |
| } |
| TEST_F(ascii_compare, ascii_compare_001) |
| { |
| rtl::OUString suStr1; |
| rtl::OString sStr2; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_compare( suStr1.getStr(), sStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(ascii_compare, ascii_compare_002) |
| { |
| rtl::OUString suStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl::OString sStr2 = "Line must be equal."; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_compare( suStr1.getStr(), sStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(ascii_compare, ascii_compare_003) |
| { |
| rtl::OUString suStr1 = rtl::OUString::createFromAscii("Line must differ."); |
| rtl::OString sStr2 = "Line foo bar, ok, differ."; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_compare( suStr1.getStr(), sStr2.getStr()); |
| ASSERT_TRUE(nValue != 0) << "compare failed, strings differ."; |
| } |
| |
| // ----------------------------------------------------------------------------- |
| |
| class ascii_compareIgnoreAsciiCase : public ::testing::Test |
| { |
| public: |
| }; // class ascii_compareIgnoreAsciiCase |
| |
| TEST_F(ascii_compareIgnoreAsciiCase, ascii_compareIgnoreAsciiCase_000) |
| { |
| rtl_ustr_ascii_compareIgnoreAsciiCase( NULL, NULL); |
| // should not GPF |
| } |
| |
| TEST_F(ascii_compareIgnoreAsciiCase, ascii_compareIgnoreAsciiCase_000_1) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl_ustr_ascii_compareIgnoreAsciiCase( aStr1.getStr(), NULL); |
| // should not GPF |
| } |
| TEST_F(ascii_compareIgnoreAsciiCase, ascii_compareIgnoreAsciiCase_001) |
| { |
| rtl::OUString suStr1; |
| rtl::OString sStr2; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_compareIgnoreAsciiCase( suStr1.getStr(), sStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(ascii_compareIgnoreAsciiCase, ascii_compareIgnoreAsciiCase_002) |
| { |
| rtl::OUString suStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl::OString sStr2 = "Line must be equal."; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_compareIgnoreAsciiCase( suStr1.getStr(), sStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(ascii_compareIgnoreAsciiCase, ascii_compareIgnoreAsciiCase_002_1) |
| { |
| rtl::OUString suStr1 = rtl::OUString::createFromAscii("Line must be equal, when ignore case."); |
| rtl::OString sStr2 = "LINE MUST BE EQUAL, WHEN IGNORE CASE."; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_compareIgnoreAsciiCase( suStr1.getStr(), sStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal (if case insensitve)."; |
| } |
| |
| TEST_F(ascii_compareIgnoreAsciiCase, ascii_compareIgnoreAsciiCase_003) |
| { |
| rtl::OUString suStr1 = rtl::OUString::createFromAscii("Line must differ."); |
| rtl::OString sStr2 = "Line foo bar, ok, differ."; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_compareIgnoreAsciiCase( suStr1.getStr(), sStr2.getStr()); |
| ASSERT_TRUE(nValue != 0) << "compare failed, strings differ."; |
| } |
| |
| //! LLA: some more tests with some high level strings |
| |
| // TEST_F(ascii_compareIgnoreAsciiCase, ascii_compareIgnoreAsciiCase_001() |
| // { |
| // rtl::OUString suStr1 = rtl::OUString::createFromAscii("change this to ascii upper case."); |
| // rtl::OUString aShouldStr1 = rtl::OUString::createFromAscii("CHANGE THIS TO ASCII UPPER CASE."); |
| // |
| // sal_uInt32 nLength = suStr1.getLength() * sizeof(sal_Unicode); |
| // sal_Unicode* pStr = (sal_Unicode*) malloc(nLength + sizeof(sal_Unicode)); // length + null terminator |
| // ASSERT_TRUE(pStr != NULL) << "can't get memory for test"; |
| // memset(pStr, 0, nLength + sizeof(sal_Unicode)); |
| // memcpy(pStr, suStr1.getStr(), nLength); |
| // |
| // rtl_ustr_ascii_compareIgnoreAsciiCase( pStr ); |
| // rtl::OUString suStr(pStr, suStr1.getLength()); |
| // |
| // ASSERT_TRUE(aShouldStr1.equals(suStr) == sal_True) << "failed"; |
| // free(pStr); |
| // } |
| |
| // sample out of inc/rtl/ustring.hxx |
| // rtl_uString * pToken = NULL; |
| // sal_Int32 nIndex = 0; |
| // do |
| // { |
| // ... |
| // nIndex = rtl_uString_getToken(&pToken, pStr, 0, ';', nIndex); |
| // ... |
| // } |
| // while (nIndex >= 0); |
| |
| class getToken : public ::testing::Test |
| { |
| public: |
| }; // class ascii_compareIgnoreAsciiCase |
| |
| TEST_F(getToken, getToken_000) |
| { |
| rtl_ustr_ascii_compareIgnoreAsciiCase( NULL, NULL); |
| // should not GPF |
| } |
| |
| TEST_F(getToken, ascii_compareIgnoreAsciiCase_000_1) |
| { |
| rtl::OUString aStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl_ustr_ascii_compareIgnoreAsciiCase( aStr1.getStr(), NULL); |
| // should not GPF |
| } |
| TEST_F(getToken, ascii_compareIgnoreAsciiCase_001) |
| { |
| rtl::OUString suStr1; |
| rtl::OString sStr2; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_compareIgnoreAsciiCase( suStr1.getStr(), sStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(getToken, ascii_compareIgnoreAsciiCase_002) |
| { |
| rtl::OUString suStr1 = rtl::OUString::createFromAscii("Line must be equal."); |
| rtl::OString sStr2 = "Line must be equal."; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_compareIgnoreAsciiCase( suStr1.getStr(), sStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal."; |
| } |
| |
| TEST_F(getToken, ascii_compareIgnoreAsciiCase_002_1) |
| { |
| rtl::OUString suStr1 = rtl::OUString::createFromAscii("Line must be equal, when ignore case."); |
| rtl::OString sStr2 = "LINE MUST BE EQUAL, WHEN IGNORE CASE."; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_compareIgnoreAsciiCase( suStr1.getStr(), sStr2.getStr()); |
| ASSERT_TRUE(nValue == 0) << "compare failed, strings are equal (if case insensitve)."; |
| } |
| |
| TEST_F(getToken, ascii_compareIgnoreAsciiCase_003) |
| { |
| rtl::OUString suStr1 = rtl::OUString::createFromAscii("Line must differ."); |
| rtl::OString sStr2 = "Line foo bar, ok, differ."; |
| |
| sal_Int32 nValue = rtl_ustr_ascii_compareIgnoreAsciiCase( suStr1.getStr(), sStr2.getStr()); |
| ASSERT_TRUE(nValue != 0) << "compare failed, strings differ."; |
| } |
| |
| //! LLA: some more tests with some high level strings |
| |
| // TEST_F(getToken, ascii_compareIgnoreAsciiCase_001) |
| // { |
| // rtl::OUString suStr1 = rtl::OUString::createFromAscii("change this to ascii upper case."); |
| // rtl::OUString aShouldStr1 = rtl::OUString::createFromAscii("CHANGE THIS TO ASCII UPPER CASE."); |
| // |
| // sal_uInt32 nLength = suStr1.getLength() * sizeof(sal_Unicode); |
| // sal_Unicode* pStr = (sal_Unicode*) malloc(nLength + sizeof(sal_Unicode)); // length + null terminator |
| // ASSERT_TRUE(pStr != NULL) << "can't get memory for test"; |
| // memset(pStr, 0, nLength + sizeof(sal_Unicode)); |
| // memcpy(pStr, suStr1.getStr(), nLength); |
| // |
| // rtl_ustr_ascii_compareIgnoreAsciiCase( pStr ); |
| // rtl::OUString suStr(pStr, suStr1.getLength()); |
| // |
| // ASSERT_TRUE(aShouldStr1.equals(suStr) == sal_True) << "failed"; |
| // free(pStr); |
| // } |
| |
| } // namespace rtl_ustr |
| |
| |
| int main(int argc, char **argv) |
| { |
| ::testing::InitGoogleTest(&argc, argv); |
| return RUN_ALL_TESTS(); |
| } |