Modified: openoffice/trunk/main/sal/qa/rtl/ostring/rtl_string.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sal/qa/rtl/ostring/rtl_string.cxx?rev=1700702&r1=1700701&r2=1700702&view=diff ============================================================================== --- openoffice/trunk/main/sal/qa/rtl/ostring/rtl_string.cxx (original) +++ openoffice/trunk/main/sal/qa/rtl/ostring/rtl_string.cxx Wed Sep 2 04:24:01 2015 @@ -24,156 +24,121 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sal.hxx" -#include <testshl/simpleheader.hxx> +#include "gtest/gtest.h" +#include <rtl/string.hxx> +#include <rtl/ustring.hxx> namespace rtl_string { - class getLength : public CppUnit::TestFixture + class getLength : public ::testing::Test { public: - - void getLength_000() - { - rtl_string_getLength( NULL ); - // should not GPF - } - - void getLength_001() - { - rtl::OString aStr("Test Length."); - sal_Int32 nValue = rtl_string_getLength( aStr.pData ); - - CPPUNIT_ASSERT_MESSAGE("Length must equal getLength()", aStr.getLength() == nValue); - CPPUNIT_ASSERT_MESSAGE( - "Length must equal strlen()", - nValue >= 0 - && (strlen(aStr.getStr()) - == sal::static_int_cast< sal_uInt32 >(nValue))); - } - // Change the following lines only, if you add, remove or rename - // member functions of the current class, - // because these macros are need by auto register mechanism. - - CPPUNIT_TEST_SUITE(getLength); - CPPUNIT_TEST(getLength_000); - CPPUNIT_TEST(getLength_001); - CPPUNIT_TEST_SUITE_END(); }; // class getLength + TEST_F(getLength, getLength_000) + { + rtl_string_getLength( NULL ); + // should not GPF + } + + TEST_F(getLength, getLength_001) + { + rtl::OString aStr("Test Length."); + sal_Int32 nValue = rtl_string_getLength( aStr.pData ); + + ASSERT_TRUE(aStr.getLength() == nValue) << "Length must equal getLength()"; + ASSERT_TRUE(nValue >= 0 + && (strlen(aStr.getStr()) + == sal::static_int_cast< sal_uInt32 >(nValue))) << "Length must equal strlen()"; + } // ----------------------------------------------------------------------------- - class newFromString : public CppUnit::TestFixture + class newFromString : public ::testing::Test { public: - - // void newFromString_000() - // { - // sal_Int32 nValue = rtl_string_newFromString( NULL, NULL ); - // // should not GPF - // } - - void newFromString_001() - { - rtl::OString aStr("Test Length."); - rtl_String *pStr = NULL; - - rtl_string_newFromString( &pStr, aStr.pData ); - - rtl::OString aNewStr(pStr); - CPPUNIT_ASSERT_MESSAGE("Strings must be equal", aStr.equals(aNewStr) == sal_True); - - rtl_string_release(pStr); - } - // Change the following lines only, if you add, remove or rename - // member functions of the current class, - // because these macros are need by auto register mechanism. - - CPPUNIT_TEST_SUITE(newFromString); - // CPPUNIT_TEST(newFromString_000); - CPPUNIT_TEST(newFromString_001); - CPPUNIT_TEST_SUITE_END(); }; // class newFromString + // TEST_F(newFromString, newFromString_000) + // { + // sal_Int32 nValue = rtl_string_newFromString( NULL, NULL ); + // // should not GPF + // } + + TEST_F(newFromString, newFromString_001) + { + rtl::OString aStr("Test Length."); + rtl_String *pStr = NULL; + + rtl_string_newFromString( &pStr, aStr.pData ); + + rtl::OString aNewStr(pStr); + ASSERT_TRUE(aStr.equals(aNewStr) == sal_True) << "Strings must be equal"; + + rtl_string_release(pStr); + } + // ----------------------------------------------------------------------------- - class convertUStringToString : public CppUnit::TestFixture + class convertUStringToString : public ::testing::Test { public: + }; // class convertUStringToString - // void newFromString_000() - // { - // sal_Int32 nValue = rtl_string_newFromString( NULL, NULL ); - // // should not GPF - // } - - void convertUStringToString_001() - { - rtl::OUString suString = rtl::OUString::createFromAscii("Hello"); - rtl::OString sString; - sal_Bool bRet = rtl_convertUStringToString(&sString.pData, suString.getStr(), suString.getLength(), RTL_TEXTENCODING_ASCII_US, OUSTRING_TO_OSTRING_CVTFLAGS); - - CPPUNIT_ASSERT_MESSAGE("Strings must be equal", bRet == sal_True && sString.equals(rtl::OString("Hello")) == sal_True); - } - - void convertUStringToString_002() - { - rtl::OString sStr("H\xE4llo"); - rtl::OUString suString = rtl::OStringToOUString(sStr, RTL_TEXTENCODING_ISO_8859_15); - - rtl::OString sString; - sal_Bool bRet = rtl_convertUStringToString(&sString.pData, suString.getStr(), suString.getLength(), RTL_TEXTENCODING_ISO_8859_15, OUSTRING_TO_OSTRING_CVTFLAGS); - - CPPUNIT_ASSERT_MESSAGE("Strings must be equal", bRet == sal_True && sString.equals(rtl::OString("H\xE4llo")) == sal_True); - } - - void convertUStringToString_003() - { - rtl::OString sStr("H\xC3\xA4llo"); - rtl::OUString suString = rtl::OStringToOUString(sStr, RTL_TEXTENCODING_UTF8); - - rtl::OString sString; - sal_Bool bRet = rtl_convertUStringToString(&sString.pData, suString.getStr(), suString.getLength(), RTL_TEXTENCODING_ISO_8859_15, OUSTRING_TO_OSTRING_CVTFLAGS); - - CPPUNIT_ASSERT_MESSAGE("Strings must be equal", bRet == sal_True && sString.equals(rtl::OString("H\xE4llo")) == sal_True); - } - - void convertUStringToString_004() - { - rtl::OString sStr("Tsch\xFC\xDF"); - rtl::OUString suString = rtl::OStringToOUString(sStr, RTL_TEXTENCODING_ISO_8859_15); - rtl::OString sString; - - sal_Bool bRet = rtl_convertUStringToString(&sString.pData, suString.getStr(), suString.getLength(), RTL_TEXTENCODING_UTF8, OUSTRING_TO_OSTRING_CVTFLAGS); - /* sal_Bool */ bRet = rtl_convertUStringToString(&sString.pData, suString.getStr(), suString.getLength(), RTL_TEXTENCODING_ISO_8859_15, OUSTRING_TO_OSTRING_CVTFLAGS); - CPPUNIT_ASSERT_MESSAGE("Strings must be equal", bRet == sal_True && sString.equals(rtl::OString("Tsch\xFC\xDF")) == sal_True); - } + // TEST_F(convertUStringToString, newFromString_000) + // { + // sal_Int32 nValue = rtl_string_newFromString( NULL, NULL ); + // // should not GPF + // } + TEST_F(convertUStringToString, convertUStringToString_001) + { + rtl::OUString suString = rtl::OUString::createFromAscii("Hello"); + rtl::OString sString; + sal_Bool bRet = rtl_convertUStringToString(&sString.pData, suString.getStr(), suString.getLength(), RTL_TEXTENCODING_ASCII_US, OUSTRING_TO_OSTRING_CVTFLAGS); - // Change the following lines only, if you add, remove or rename - // member functions of the current class, - // because these macros are need by auto register mechanism. - - CPPUNIT_TEST_SUITE(convertUStringToString); - CPPUNIT_TEST(convertUStringToString_001); - CPPUNIT_TEST(convertUStringToString_002); - CPPUNIT_TEST(convertUStringToString_003); - CPPUNIT_TEST(convertUStringToString_004); - CPPUNIT_TEST_SUITE_END(); - }; // class convertUStringToString + ASSERT_TRUE(bRet == sal_True && sString.equals(rtl::OString("Hello")) == sal_True) << "Strings must be equal"; + } + TEST_F(convertUStringToString, convertUStringToString_002) + { + rtl::OString sStr("H\xE4llo"); + rtl::OUString suString = rtl::OStringToOUString(sStr, RTL_TEXTENCODING_ISO_8859_15); + rtl::OString sString; + sal_Bool bRet = rtl_convertUStringToString(&sString.pData, suString.getStr(), suString.getLength(), RTL_TEXTENCODING_ISO_8859_15, OUSTRING_TO_OSTRING_CVTFLAGS); -} // namespace rtl_string + ASSERT_TRUE(bRet == sal_True && sString.equals(rtl::OString("H\xE4llo")) == sal_True) << "Strings must be equal"; + } -// ----------------------------------------------------------------------------- -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(rtl_string::getLength, "rtl_string"); -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(rtl_string::newFromString, "rtl_string"); -CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(rtl_string::convertUStringToString, "rtl_string"); + TEST_F(convertUStringToString, convertUStringToString_003) + { + rtl::OString sStr("H\xC3\xA4llo"); + rtl::OUString suString = rtl::OStringToOUString(sStr, RTL_TEXTENCODING_UTF8); -// ----------------------------------------------------------------------------- + rtl::OString sString; + sal_Bool bRet = rtl_convertUStringToString(&sString.pData, suString.getStr(), suString.getLength(), RTL_TEXTENCODING_ISO_8859_15, OUSTRING_TO_OSTRING_CVTFLAGS); + + ASSERT_TRUE(bRet == sal_True && sString.equals(rtl::OString("H\xE4llo")) == sal_True) << "Strings must be equal"; + } -// this macro creates an empty function, which will called by the RegisterAllFunctions() -// to let the user the possibility to also register some functions by hand. -NOADDITIONAL; + TEST_F(convertUStringToString, convertUStringToString_004) + { + rtl::OString sStr("Tsch\xFC\xDF"); + rtl::OUString suString = rtl::OStringToOUString(sStr, RTL_TEXTENCODING_ISO_8859_15); + rtl::OString sString; + + sal_Bool bRet = rtl_convertUStringToString(&sString.pData, suString.getStr(), suString.getLength(), RTL_TEXTENCODING_UTF8, OUSTRING_TO_OSTRING_CVTFLAGS); + /* sal_Bool */ bRet = rtl_convertUStringToString(&sString.pData, suString.getStr(), suString.getLength(), RTL_TEXTENCODING_ISO_8859_15, OUSTRING_TO_OSTRING_CVTFLAGS); + ASSERT_TRUE(bRet == sal_True && sString.equals(rtl::OString("Tsch\xFC\xDF")) == sal_True) << "Strings must be equal"; + } + +} // namespace rtl_string + + +int main(int argc, char **argv) +{ + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +}