/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sal.hxx" #ifndef _SAL_TYPES_H_ #include #endif // #ifndef _RTL_TRES_H_ // #include // #endif #include #ifndef _RTL_STRING_HXX_ #include #endif #ifndef _RTL_USTRING_H_ #include #endif #ifndef _RTL_USTRING_HXX_ #include #endif #ifndef _RTL_USTRBUF_H_ #include #endif #ifndef _RTL_USTRBUF_HXX #include #endif //------------------------------------------------------------------------ //------------------------------------------------------------------------ #ifndef _OSL_THREAD_H_ #include #endif #ifndef _RTL_STRING_CONST_H_ #include #endif #ifndef _RTL_STRING_UTILS_HXX_ #include #endif #include "stdio.h" using namespace rtl; //------------------------------------------------------------------------ // test classes //------------------------------------------------------------------------ const int MAXBUFLENGTH = 255; //------------------------------------------------------------------------ // helper functions //------------------------------------------------------------------------ static void unused() { (void)kBinaryNumsStr; (void)kOctolNumsStr; (void)kDecimalNumsStr; (void)kHexDecimalNumsStr; (void)kBase36NumsStr; (void)inputChar; (void)input1StrDefault; (void)input1StrNormal; (void)input1StrLastDefault; (void)input1StrLastNormal; unused(); } //------------------------------------------------------------------------ // testing constructors //------------------------------------------------------------------------ static sal_Bool test_rtl_OUStringBuffer_ctor_001( hTestResult hRtlTestResult ) { ::rtl::OUStringBuffer aUStrBuf; bool b1 = aUStrBuf.getLength() == 0 && ! *(aUStrBuf.getStr()) && aUStrBuf.getCapacity() == 16; ::rtl::OUStringBuffer aUStrBuf2(0); bool b2 = aUStrBuf2.getLength() == 0 && ! *(aUStrBuf2.getStr()) && aUStrBuf2.getCapacity() == /* LLA: !!! */ 0; return ( c_rtl_tres_state ( hRtlTestResult, b1 && b2, "New OUStringBuffer containing no characters", "ctor_001" ) ); } //------------------------------------------------------------------------ static sal_Bool SAL_CALL test_rtl_OUStringBuffer_ctor_002( hTestResult hRtlTestResult ) { ::rtl::OUStringBuffer aUStrBuftmp( aUStr1 ); ::rtl::OUStringBuffer aUStrBuf( aUStrBuftmp ); sal_Bool res = cmpustr(aUStrBuftmp.getStr(),aUStrBuf.getStr()); return ( c_rtl_tres_state ( hRtlTestResult, aUStrBuf.getLength()==aUStrBuftmp.getLength() && aUStrBuf.getCapacity() == aUStrBuftmp.getCapacity() && res , "New OUStringBuffer from another OUStringBuffer", "ctor_002" ) ); } //------------------------------------------------------------------------ /* static */ sal_Bool SAL_CALL test_rtl_OUStringBuffer_ctor_003( hTestResult hRtlTestResult ) { ::rtl::OUStringBuffer aUStrBuf1(kTestStr2Len); #ifdef WITH_CORE ::rtl::OUStringBuffer aUStrBuf2(kSInt32Max); //will core dump #else ::rtl::OUStringBuffer aUStrBuf2(0); #endif ::rtl::OUStringBuffer aUStrBuf3(kNonSInt32Max); bool b1 = aUStrBuf1.getLength() == 0 && ! *(aUStrBuf1.getStr()) && aUStrBuf1.getCapacity() == kTestStr2Len ; bool b2 = #ifdef WITH_CORE aUStrBuf2.getLength() == 0 && ! *(aUStrBuf2.getStr()) && aUStrBuf2.getCapacity() == kSInt32Max ; #else aUStrBuf2.getLength() == 0 && ! *(aUStrBuf2.getStr()) && aUStrBuf2.getCapacity() == /* LLA: ??? 16 */ 0; #endif bool b3 = aUStrBuf3.getLength() == 0 && ! *(aUStrBuf3.getStr()) && aUStrBuf3.getCapacity() == kNonSInt32Max; return ( c_rtl_tres_state ( hRtlTestResult, b1 && b2 && b3, "New OUStringBuffer containing no characters and contain assigned capacity", "ctor_003( will core dump,because the kSInt32Max )" ) ); } //------------------------------------------------------------------------ static sal_Bool SAL_CALL test_rtl_OUStringBuffer_ctor_004( hTestResult hRtlTestResult) { ::rtl::OUString aUStrtmp( aUStr1 ); ::rtl::OUStringBuffer aUStrBuf( aUStrtmp ); sal_Int32 leg = aUStrBuf.getLength(); return ( c_rtl_tres_state ( hRtlTestResult, aUStrBuf.getStr() == aUStrtmp && leg == aUStrtmp.pData->length && aUStrBuf.getCapacity() == leg+16 , "New OUStringBuffer from OUstring", "ctor_004" ) ); } static sal_Bool SAL_CALL test_rtl_OUStringBuffer_ctor_005( hTestResult hRtlTestResult) { ::rtl::OUStringBuffer aUStrBuftmp( aUStr1 ); ::rtl::OUString aUStrtmp = aUStrBuftmp.makeStringAndClear(); ::rtl::OUStringBuffer aUStrBuf( aUStrBuftmp ); sal_Bool res = cmpustr(aUStrBuftmp.getStr(),aUStrBuf.getStr()); sal_Int32 leg = aUStrBuf.getLength(); return ( c_rtl_tres_state ( hRtlTestResult, aUStrBuf.getLength()==aUStrBuftmp.getLength() && aUStrBuf.getCapacity() == aUStrBuftmp.getCapacity() && res && leg == 0, "New OUStringBuffer from another OUStringBuffer after makeClearFromString", "ctor_005" ) ); } extern "C" void /* sal_Bool */ SAL_CALL test_rtl_OUStringBuffer_ctors( hTestResult hRtlTestResult ) { c_rtl_tres_state_start( hRtlTestResult, "ctors"); sal_Bool DCState = test_ini_uString(); (void)DCState; sal_Bool bTSState = test_rtl_OUStringBuffer_ctor_001( hRtlTestResult ); bTSState &= test_rtl_OUStringBuffer_ctor_002( hRtlTestResult); bTSState &= test_rtl_OUStringBuffer_ctor_003( hRtlTestResult); bTSState &= test_rtl_OUStringBuffer_ctor_004( hRtlTestResult); bTSState &= test_rtl_OUStringBuffer_ctor_005( hRtlTestResult); c_rtl_tres_state_end( hRtlTestResult, "ctors"); // return( bTSState ); } //------------------------------------------------------------------------ // testing the method makeStringAndClear() //------------------------------------------------------------------------ extern "C" void /* sal_Bool */ SAL_CALL test_rtl_OUStringBuffer_makeStringAndClear( hTestResult hRtlTestResult ) { c_rtl_tres_state_start( hRtlTestResult, "makeStringAndClear"); sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; typedef struct TestCase { sal_Char* comments; OUString* expVal; OUStringBuffer* input1; ~TestCase() { delete input1;} } TestCase; OUString arrOUS[6]={ OUString( aUStr1 ), OUString( aUStr14 ), OUString( aUStr25 ), OUString( aUStr27 ), OUString( aUStr29 ), OUString( "\0",0, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString) }; TestCase arrTestCase[]={ {"two empty strings(def. constructor)", new OUString(), new OUStringBuffer()}, {"two empty strings(with a argu)", new OUString(), new OUStringBuffer(26)}, {"normal string", new OUString(arrOUS[0]), new OUStringBuffer(arrOUS[0])}, {"string with space ", new OUString(arrOUS[1]), new OUStringBuffer(arrOUS[1])}, {"empty string", new OUString(arrOUS[2]), new OUStringBuffer(arrOUS[2])}, {"string with a character", new OUString(arrOUS[3]), new OUStringBuffer(arrOUS[3])}, {"string with special characters", new OUString(arrOUS[4]), new OUStringBuffer(arrOUS[4])}, {"string only with (\0)", new OUString(arrOUS[5]), new OUStringBuffer(arrOUS[5])} }; sal_Bool res = sal_True; sal_uInt32 i; for(i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { sal_Bool lastRes = ( arrTestCase[i].input1->makeStringAndClear() == *( arrTestCase[i].expVal )); lastRes = lastRes && ( arrTestCase[i].input1->getCapacity() == 0 ); lastRes = lastRes && ( *(arrTestCase[i].input1->getStr()) == '\0' ); c_rtl_tres_state ( hRtlTestResult, lastRes, arrTestCase[i].comments, createName( pMeth, "makeStringAndClear", i ) ); res &= lastRes; } c_rtl_tres_state_end( hRtlTestResult, "makeStringAndClear"); // return (res); } //------------------------------------------------------------------------ // testing the method getLength //------------------------------------------------------------------------ extern "C" void /* sal_Bool */ SAL_CALL test_rtl_OUStringBuffer_getLength( hTestResult hRtlTestResult) { c_rtl_tres_state_start( hRtlTestResult, "getLength"); sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; OUString arrOUS[6]={OUString( aUStr1 ), OUString( "1",1, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString), OUString(), OUString( "",0, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString), OUString( "\0",0, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString), OUString( aUStr2 )}; typedef struct TestCase { sal_Char* comments; sal_Int32 expVal; OUStringBuffer* input; ~TestCase() { delete input;} } TestCase; TestCase arrTestCase[]={ {"length of ascii string", kTestStr1Len, new OUStringBuffer(arrOUS[0]) }, {"length of ascci string of size 1", 1, new OUStringBuffer(arrOUS[1])}, {"length of empty string", 0, new OUStringBuffer(arrOUS[2])}, {"length of empty string (empty ascii string arg)",0, new OUStringBuffer(arrOUS[3])}, {"length of empty string (string arg = '\\0')", 0, new OUStringBuffer(arrOUS[4])}, {"length(>16) of ascii string", kTestStr2Len, new OUStringBuffer(arrOUS[5]) }, {"length of empty string (default constructor)", 0, new OUStringBuffer()}, {"length of empty string (with capacity)", 0, new OUStringBuffer(26)} }; sal_Bool res = sal_True; sal_uInt32 i; for (i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { sal_Int32 length = arrTestCase[i].input->getLength(); sal_Bool lastRes = (length == arrTestCase[i].expVal); c_rtl_tres_state ( hRtlTestResult, lastRes, arrTestCase[i].comments, createName( pMeth, "getLength", i ) ); res &= lastRes; } c_rtl_tres_state_end( hRtlTestResult, "getLength"); // return ( res ); } //------------------------------------------------------------------------ // testing the method getCapacity() //------------------------------------------------------------------------ extern "C" void /* sal_Bool */ SAL_CALL test_rtl_OUStringBuffer_getCapacity( hTestResult hRtlTestResult) { c_rtl_tres_state_start( hRtlTestResult, "getCapacity"); sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; OUString arrOUS[6]={OUString( aUStr1 ), OUString( "1",1, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString), OUString(), OUString( "",0, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString), OUString( "\0",0, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString), OUString( aUStr2 )}; typedef struct TestCase { sal_Char* comments; sal_Int32 expVal; OUStringBuffer* input; ~TestCase() { delete input;} } TestCase; TestCase arrTestCase[]={ {"capacity of ascii string", kTestStr1Len+16, new OUStringBuffer(arrOUS[0]) }, {"capacity of ascci string of size 1", 1+16, new OUStringBuffer(arrOUS[1]) }, {"capacity of empty string", 0+16, new OUStringBuffer(arrOUS[2]) }, {"capacity of empty string (empty ascii string arg)",0+16, new OUStringBuffer(arrOUS[3]) }, {"capacity of empty string (string arg = '\\0')", 0+16, new OUStringBuffer(arrOUS[4]) }, {"capacity(>16) of ascii string", kTestStr2Len+16, new OUStringBuffer(arrOUS[5]) }, {"capacity of empty string (default constructor)", 16, new OUStringBuffer() }, #ifdef WITH_CORE {"capacity of empty string (with capacity 2147483647)(code will core dump)", kSInt32Max, new OUStringBuffer(kSInt32Max) },// will core dump #endif {"capacity of empty string (with capacity -2147483648)", kNonSInt32Max, new OUStringBuffer(kNonSInt32Max) }, {"capacity of empty string (with capacity 16)", 16, new OUStringBuffer(16) }, {"capacity of empty string (with capacity 6)", 6, new OUStringBuffer(6) }, {"capacity of empty string (with capacity 0)", 0, new OUStringBuffer(0) }, {"capacity of empty string (with capacity -2)", -2, new OUStringBuffer(-2) } }; sal_Bool res = sal_True; sal_uInt32 i; for (i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { sal_Int32 length = arrTestCase[i].input->getCapacity(); sal_Bool lastRes = (length == arrTestCase[i].expVal); c_rtl_tres_state ( hRtlTestResult, lastRes, arrTestCase[i].comments, createName( pMeth, "getCapacity", i ) ); res &= lastRes; } c_rtl_tres_state_end( hRtlTestResult, "getCapacity"); // return ( res ); } //------------------------------------------------------------------------ // testing the method ensureCapacity(sal_Int32 minimumCapacity) //------------------------------------------------------------------------ extern "C" void /* sal_Bool */ SAL_CALL test_rtl_OUStringBuffer_ensureCapacity( hTestResult hRtlTestResult) { c_rtl_tres_state_start( hRtlTestResult, "ensureCapacity"); sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; typedef struct TestCase { sal_Char* comments; sal_Int32 expVal; OUStringBuffer* input1; sal_Int32 input2; ~TestCase() { delete input1;} } TestCase; TestCase arrTestCase[]={ {"capacity equal to 16, minimum is 5 ", 16, new OUStringBuffer(), 5 }, {"capacity equal to 16, minimum is -5", 16, new OUStringBuffer(), -5}, {"capacity equal to 16, minimum is 0", 16, new OUStringBuffer(), 0}, {"capacity equal to 16, minimum is 20", 20, //the testcase is based on comments new OUStringBuffer(), 20}, {"capacity equal to 16, minimum is 50", 50, new OUStringBuffer(), 50}, {"capacity equal to 6, minimum is 20", 20, new OUStringBuffer(6), 20 }, {"capacity equal to 6, minimum is 2", 6, new OUStringBuffer(6), 2}, {"capacity equal to 6, minimum is -6", 6, new OUStringBuffer(6), -6}, {"capacity equal to 6, minimum is -6", 10, //the testcase is based on comments new OUStringBuffer(6), 10}, {"capacity equal to 0, minimum is 6", 6, new OUStringBuffer(0), 6}, {"capacity equal to 0, minimum is 1", 2, //the testcase is based on comments new OUStringBuffer(0), 1}, /* {"capacity equal to 0, minimum is -1", 0, new OUStringBuffer(0), -1}, */ #ifdef WITH_CORE {"capacity equal to 2147483647, minimum is 65535", kSInt32Max,//will core dump new OUStringBuffer(kSInt32Max), 65535}, {"capacity equal to 2147483647, minimum is 2147483647", kSInt32Max,//will core dump new OUStringBuffer(kSInt32Max), kSInt32Max}, {"capacity equal to 2147483647, minimum is -1", kSInt32Max,//will core dump new OUStringBuffer(kSInt32Max), -1}, {"capacity equal to 2147483647, minimum is 0", kSInt32Max,//will core dump new OUStringBuffer(kSInt32Max), 0}, {"capacity equal to 2147483647, minimum is -2147483648", kSInt32Max,//will core dump new OUStringBuffer(kSInt32Max), kNonSInt32Max}, #endif {"capacity equal to -2147483648, minimum is 65535", 65535, new OUStringBuffer(kNonSInt32Max), 65535}, #ifdef WITH_CORE {"capacity equal to -2147483648, minimum is 2147483647", 2147483647,//will core dump new OUStringBuffer(kNonSInt32Max), 2147483647}, #endif {"capacity equal to -2147483648, minimum is -1", 2, new OUStringBuffer(kNonSInt32Max), -1}, {"capacity equal to -2147483648, minimum is 0", 2, new OUStringBuffer(kNonSInt32Max), 0}, {"capacity equal to -2147483648, minimum is -2147483648", kNonSInt32Max, new OUStringBuffer(kNonSInt32Max), kNonSInt32Max} }; sal_Bool res = sal_True; sal_uInt32 i; for (i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { arrTestCase[i].input1->ensureCapacity(arrTestCase[i].input2); sal_Int32 length = arrTestCase[i].input1->getCapacity(); sal_Bool lastRes = (length == arrTestCase[i].expVal); c_rtl_tres_state ( hRtlTestResult, lastRes, arrTestCase[i].comments, createName( pMeth, "ensureCapacity", i ) ); res &= lastRes; } c_rtl_tres_state_end( hRtlTestResult, "ensureCapacity"); // return ( res ); } //------------------------------------------------------------------------ // testing the method setLength(sal_Int32 newLength) //------------------------------------------------------------------------ extern "C" void /* sal_Bool */ SAL_CALL test_rtl_OUStringBuffer_setLength( hTestResult hRtlTestResult) { c_rtl_tres_state_start( hRtlTestResult, "setLength"); sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; OUString arrOUS[6]={OUString( aUStr1 ), OUString( aUStr27), OUString(), OUString( "",0, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString), OUString( "\0",0, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString), OUString( aUStr2 )}; typedef struct TestCase { sal_Char* comments; sal_Int32 expVal1; OUString* expVal2; sal_Int32 expVal3; OUStringBuffer* input1; sal_Int32 input2; ~TestCase() { delete input1; delete expVal2;} } TestCase; TestCase arrTestCase[]={ {"newLength more than the capacity of OUStringBuffer(aUStr1)", 50, new OUString(aUStr1), 50, new OUStringBuffer(arrOUS[0]), 50 }, {"newLength more than the length of OUStringBuffer(aUStr1)", kTestStr13Len, new OUString(aUStr1), 32, new OUStringBuffer(arrOUS[0]), kTestStr13Len }, {"newLength equal to the length of OUStringBuffer(aUStr1)", kTestStr1Len, new OUString(aUStr1), 32, new OUStringBuffer(arrOUS[0]), kTestStr1Len }, {"newLength less than the length of OUStringBuffer(aUStr1)", kTestStr7Len, new OUString(aUStr7), 32, new OUStringBuffer(arrOUS[0]), kTestStr7Len}, {"newLength equal to 0", 0, new OUString(), 32, new OUStringBuffer(arrOUS[0]), 0}, {"newLength more than the capacity of OUStringBuffer(1)", 25, new OUString(arrOUS[1]), 25, new OUStringBuffer(arrOUS[1]), 25}, {"newLength more than the length of OUStringBuffer(1)", 5, new OUString(arrOUS[1]), 17, new OUStringBuffer(arrOUS[1]), 5}, {"newLength equal to the length of OUStringBuffer(1)", kTestStr27Len, new OUString(arrOUS[1]), 17, new OUStringBuffer(arrOUS[1]), kTestStr27Len}, {"newLength less than the length of OUStringBuffer(1)", 0, new OUString(), 17, new OUStringBuffer(arrOUS[1]), 0}, {"newLength more than the capacity of OUStringBuffer()", 20, new OUString(), 20, new OUStringBuffer(arrOUS[2]), 20}, {"newLength more than the length of OUStringBuffer()", 3, new OUString(), 16, new OUStringBuffer(arrOUS[2]), 3}, {"newLength less than the length of OUStringBuffer()", 0, new OUString(), 16, new OUStringBuffer(arrOUS[2]), 0}, {"newLength more than the capacity of OUStringBuffer("")", 20, new OUString(), 20, new OUStringBuffer(arrOUS[3]), 20}, {"newLength more than the length of OUStringBuffer("")", 5, new OUString(), 16, new OUStringBuffer(arrOUS[3]), 5}, {"newLength less than the length of OUStringBuffer("")", 0, new OUString(), 16, new OUStringBuffer(arrOUS[3]), 0}, {"newLength more than the length of OUStringBuffer(\0)", 20, new OUString(), 20, new OUStringBuffer(arrOUS[4]), 20}, {"newLength more than the length of OUStringBuffer(\0)", 5, new OUString(), 16, new OUStringBuffer(arrOUS[4]), 5}, {"newLength less than the length of OUStringBuffer(\0)", 0, new OUString(), 16, new OUStringBuffer(arrOUS[4]), 0}, {"newLength more than the capacity of OUStringBuffer(aUStr2)", 50, new OUString(aUStr2), 66, new OUStringBuffer(arrOUS[5]), 50,}, {"newLength more than the length of OUStringBuffer(aUStr2)", 40, new OUString(aUStr2), 48, new OUStringBuffer(arrOUS[5]), 40,}, {"newLength equal to the length of OUStringBuffer(aUStr2)", kTestStr2Len, new OUString(aUStr2), 48, new OUStringBuffer(arrOUS[5]), kTestStr2Len,}, {"newLength less than the length of OUStringBuffer(aUStr2)", kTestStr7Len, new OUString(aUStr7), 48, new OUStringBuffer(arrOUS[5]), kTestStr7Len}, {"newLength equal to 0", 0, new OUString(), 48, new OUStringBuffer(arrOUS[5]), 0} }; sal_Bool res = sal_True; sal_uInt32 i; for (i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { arrTestCase[i].input1->setLength(arrTestCase[i].input2); sal_Bool lastRes = ( arrTestCase[i].input1->getStr() == *(arrTestCase[i].expVal2) && arrTestCase[i].input1->getLength() == arrTestCase[i].expVal1 && arrTestCase[i].input1->getCapacity() == arrTestCase[i].expVal3 ); c_rtl_tres_state ( hRtlTestResult, lastRes, arrTestCase[i].comments, createName( pMeth, "setLength", i ) ); res &= lastRes; } c_rtl_tres_state_end( hRtlTestResult, "setLength"); // return ( res ); } //------------------------------------------------------------------------ // testing the method charAt( sal_Int32 index ) //------------------------------------------------------------------------ extern "C" void /* sal_Bool */ SAL_CALL test_rtl_OUStringBuffer_charAt( hTestResult hRtlTestResult) { c_rtl_tres_state_start( hRtlTestResult, "charAt"); sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; OUString arrOUS[4]={OUString( aUStr1 ), // "Sun Microsystems"; OUString( aUStr27), // "s"; OUString( aUStr28), // "\50\3\5\7\11\13\15\17sun"; OUString( )}; typedef struct TestCase { sal_Char* comments; sal_Unicode expVal; OUStringBuffer* input1; sal_Int32 input2; ~TestCase() { delete input1;} } TestCase; TestCase arrTestCase[]={ {"return the first character of OUStringBuffer(aUStr1)", 83, new OUStringBuffer(arrOUS[0]), 0 }, {"return the middle character of OUStringBuffer(aUStr1)", 32, new OUStringBuffer(arrOUS[0]), 3 }, {"return the last character of OUStringBuffer(aUStr1)", 115, new OUStringBuffer(arrOUS[0]), 15 }, {"return the only character of OUStringBuffer(aUStr27)", 115, new OUStringBuffer(arrOUS[1]), 0}, {"return the first of OUStringBuffer(aUStr28) with special character", 40, new OUStringBuffer(arrOUS[2]), 0}, /* {"return the mid of OUStringBuffer(aUStr28) with special character", 11, new OUStringBuffer(arrOUS[2]), 5}, */ /* {"invalid character of OUStringBuffer()", 0, new OUStringBuffer(arrOUS[3]), 0}, */ /* {"invalid character of OUStringBuffer()", 0, new OUStringBuffer(arrOUS[3]), -2} */ }; sal_Bool res = sal_True; sal_uInt32 i; for (i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { sal_Bool lastRes = ( arrTestCase[i].input1->charAt(arrTestCase[i].input2) == arrTestCase[i].expVal ); // LLA: last case removed, due to the fact of complexity of the test code :-( // LLA: if(i<=7) // LLA: { c_rtl_tres_state ( hRtlTestResult, lastRes, arrTestCase[i].comments, createName( pMeth, "charAt", i ) ); // LLA: } // LLA: else // LLA: { // LLA: c_rtl_tres_state // LLA: ( // LLA: hRtlTestResult, // LLA: sal_True, // LLA: arrTestCase[i].comments, // LLA: createName( pMeth, "charAt", i ) // LLA: // LLA: ); // LLA: } res &= lastRes; } c_rtl_tres_state_end( hRtlTestResult, "charAt"); // return ( res ); } //------------------------------------------------------------------------ // testing the operator const sal_Unicode * (csuc for short) //------------------------------------------------------------------------ extern "C" void /* sal_Bool */ SAL_CALL test_rtl_OUStringBuffer_csuc( hTestResult hRtlTestResult) { c_rtl_tres_state_start( hRtlTestResult, "csuc"); sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; const sal_Unicode tmpUC=0x0; rtl_uString* tmpUstring = NULL; const sal_Char *tmpStr=kTestStr1; sal_Int32 tmpLen=(sal_Int32) kTestStr1Len; //sal_Int32 cmpLen = 0; OUString tempString(aUStr1); rtl_string2UString( &tmpUstring, tmpStr, tmpLen, osl_getThreadTextEncoding(), OSTRING_TO_OUSTRING_CVTFLAGS ); OSL_ASSERT(tmpUstring != NULL); typedef struct TestCase { sal_Char* comments; const sal_Unicode* expVal; sal_Int32 cmpLen; OUStringBuffer* input1; ~TestCase() { delete input1; } } TestCase; TestCase arrTestCase[] = { {"test normal ustring",(*tmpUstring).buffer,kTestStr1Len, new OUStringBuffer(tempString)}, {"test empty ustring",&tmpUC, 1, new OUStringBuffer()} }; sal_Bool res = sal_True; sal_uInt32 i; for(i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { const sal_Unicode* pstr = *arrTestCase[i].input1; res &= c_rtl_tres_state ( hRtlTestResult, cmpustr( pstr, arrTestCase[i].expVal, arrTestCase[i].cmpLen ), arrTestCase[i].comments, createName( pMeth, "const sal_Unicode*", i ) ); } c_rtl_tres_state_end( hRtlTestResult, "csuc"); // return ( res ); } //------------------------------------------------------------------------ // testing the method const sal_Unicode * getStr() //------------------------------------------------------------------------ extern "C" void /* sal_Bool */ SAL_CALL test_rtl_OUStringBuffer_getStr( hTestResult hRtlTestResult) { c_rtl_tres_state_start( hRtlTestResult, "getStr"); sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; const sal_Unicode tmpUC=0x0; rtl_uString* tmpUstring = NULL; const sal_Char *tmpStr=kTestStr1; sal_Int32 tmpLen=(sal_Int32) kTestStr1Len; //sal_Int32 cmpLen = 0; OUString tempString(aUStr1); rtl_string2UString( &tmpUstring, tmpStr, tmpLen, osl_getThreadTextEncoding(), OSTRING_TO_OUSTRING_CVTFLAGS ); OSL_ASSERT(tmpUstring != NULL); typedef struct TestCase { sal_Char* comments; const sal_Unicode* expVal; sal_Int32 cmpLen; OUStringBuffer* input1; ~TestCase() { delete input1;} } TestCase; TestCase arrTestCase[] = { {"test normal ustring",(*tmpUstring).buffer,kTestStr1Len, new OUStringBuffer(tempString)}, {"test empty ustring",&tmpUC, 1, new OUStringBuffer()} }; sal_Bool res = sal_True; sal_uInt32 i; for(i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { const sal_Unicode* pstr = arrTestCase[i].input1->getStr(); res &= c_rtl_tres_state ( hRtlTestResult, cmpustr( pstr, arrTestCase[i].expVal, arrTestCase[i].cmpLen ), arrTestCase[i].comments, createName( pMeth, "getStr", i ) ); } c_rtl_tres_state_end( hRtlTestResult, "getStr"); // return ( res ); } //------------------------------------------------------------------------ // testing the method setCharAt(sal_Int32 index, sal_Unicode ch) //------------------------------------------------------------------------ extern "C" void /* sal_Bool */ SAL_CALL test_rtl_OUStringBuffer_setCharAt( hTestResult hRtlTestResult) { c_rtl_tres_state_start( hRtlTestResult, "setCharAt"); sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; OUString arrOUS[4]={OUString( aUStr1 ), OUString( aUStr27), OUString( aUStr28), OUString( )}; typedef struct TestCase { sal_Char* comments; OUString* expVal; OUStringBuffer* input1; sal_Int32 input2; sal_Unicode input3; ~TestCase() { delete input1; delete expVal; } } TestCase; TestCase arrTestCase[]={ {"set the first character of OUStringBuffer(aUStr1) with s", new OUString(aUStr31), new OUStringBuffer(arrOUS[0]), 0, 115 }, {"set the middle character of OUStringBuffer(aUStr1) with m", new OUString(aUStr3), new OUStringBuffer(arrOUS[0]), 4, 109 }, {"set the last character of OUStringBuffer(aUStr1) with ' '", new OUString(aUStr32), new OUStringBuffer(arrOUS[0]), 15, 32 }, {"set the only character of OUStringBuffer(aUStr27) with ' '", new OUString(aUStr33), new OUStringBuffer(arrOUS[1]), 0, 32}, {"set the only of OUStringBuffer(aUStr28) with special character", new OUString(aUStr34), new OUStringBuffer(arrOUS[2]), 1, 5}, /* {"set the only of OUStringBuffer(aUStr28) with special character", new OUString(aUStr35), new OUStringBuffer(arrOUS[2]), 1, -5} */ #ifdef WITH_CORE ,{"invalid character of OUStringBuffer()", 0, new OUStringBuffer(arrOUS[3]), 0, 5}, {"invalid character of OUStringBuffer()", 0, new OUStringBuffer(arrOUS[3]), -2, 5}, {"invalid character of OUStringBuffer()", 0, new OUStringBuffer(arrOUS[3]), 3, 5} #endif }; sal_Bool res = sal_True; sal_uInt32 i; for (i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { sal_Bool lastRes = ( (arrTestCase[i].input1->setCharAt(arrTestCase[i].input2, arrTestCase[i].input3)).getStr() == *(arrTestCase[i].expVal) ); if(i<=4) { c_rtl_tres_state ( hRtlTestResult, lastRes, arrTestCase[i].comments, createName( pMeth, "setCharAt", i ) ); } else { c_rtl_tres_state ( hRtlTestResult, sal_True, arrTestCase[i].comments, createName( pMeth, "setCharAt", i ) ); } res &= lastRes; } c_rtl_tres_state_end( hRtlTestResult, "setCharAt"); // return ( res ); } //------------------------------------------------------------------------ // testing the method append(const OUString &str) //------------------------------------------------------------------------ sal_Bool SAL_CALL test_rtl_OUStringBuffer_append_001( hTestResult hRtlTestResult) { sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; OUString arrOUS[5]={OUString( aUStr7 ), OUString(), OUString( aUStr25 ), OUString( "\0",0, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString), OUString( aUStr28 )}; typedef struct TestCase { sal_Char* comments; OUString* expVal; OUStringBuffer* input1; OUString* input2; ~TestCase() { delete input1; delete input2; delete expVal; } } TestCase; TestCase arrTestCase[]={ {"Appends the string(length less than 16) to the string buffer arrOUS[0]", new OUString(aUStr1), new OUStringBuffer(arrOUS[0]), new OUString(aUStr8) }, {"Appends the string(length more than 16) to the string buffer arrOUS[0]", new OUString(aUStr2), new OUStringBuffer(arrOUS[0]), new OUString(aUStr36) }, {"Appends the string(length equal to 16) to the string buffer arrOUS[0]", new OUString(aUStr37), new OUStringBuffer(arrOUS[0]), new OUString(aUStr23) }, {"Appends the string(length equal to 0) to the string buffer arrOUS[0]", new OUString(aUStr7), new OUStringBuffer(arrOUS[0]), new OUString()}, {"Appends the string(length less than 16) to the string buffer arrOUS[1]", new OUString(aUStr7), new OUStringBuffer(arrOUS[1]), new OUString(aUStr7)}, {"Appends the string(length more than 16) to the string buffer arrOUS[1]", new OUString(aUStr2), new OUStringBuffer(arrOUS[1]), new OUString(aUStr2)}, {"Appends the string(length equal to 16) to the string buffer arrOUS[1]", new OUString(aUStr1), new OUStringBuffer(arrOUS[1]), new OUString(aUStr1) }, {"Appends the string(length equal to 0) to the string buffer arrOUS[1]", new OUString(), new OUStringBuffer(arrOUS[1]), new OUString()}, {"Appends the string(length less than 16) to the string buffer arrOUS[2]", new OUString(aUStr7), new OUStringBuffer(arrOUS[2]), new OUString(aUStr7)}, {"Appends the string(length more than 16) to the string buffer arrOUS[2]", new OUString(aUStr2), new OUStringBuffer(arrOUS[2]), new OUString(aUStr2)}, {"Appends the string(length equal to 16) to the string buffer arrOUS[2]", new OUString(aUStr1), new OUStringBuffer(arrOUS[2]), new OUString(aUStr1) }, {"Appends the string(length equal to 0) to the string buffer arrOUS[2]", new OUString(), new OUStringBuffer(arrOUS[2]), new OUString()}, {"Appends the string(length less than 16) to the string buffer arrOUS[3]", new OUString(aUStr7), new OUStringBuffer(arrOUS[3]), new OUString(aUStr7)}, {"Appends the string(length more than 16) to the string buffer arrOUS[3]", new OUString(aUStr2), new OUStringBuffer(arrOUS[3]), new OUString(aUStr2)}, {"Appends the string(length equal to 16) to the string buffer arrOUS[3]", new OUString(aUStr1), new OUStringBuffer(arrOUS[3]), new OUString(aUStr1) }, {"Appends the string(length equal to 0) to the string buffer arrOUS[3]", new OUString(), new OUStringBuffer(arrOUS[3]), new OUString()}, {"Appends the string(length less than 16) to the string buffer arrOUS[4]", new OUString(aUStr29), new OUStringBuffer(arrOUS[4]), new OUString(aUStr38)}, {"Appends the string(length more than 16) to the string buffer arrOUS[4]", new OUString(aUStr39), new OUStringBuffer(arrOUS[4]), new OUString(aUStr17)}, {"Appends the string(length equal to 16) to the string buffer arrOUS[4]", new OUString(aUStr40), new OUStringBuffer(arrOUS[4]), new OUString(aUStr31) }, {"Appends the string(length equal to 0) to the string buffer arrOUS[4]", new OUString(aUStr28), new OUStringBuffer(arrOUS[4]), new OUString()} #ifdef WITH_CORE ,{"Appends the string(length equal to 0) to the string buffer(with INT_MAX) ", new OUString(), new OUStringBuffer(kSInt32Max), new OUString()} #endif }; sal_Bool res = sal_True; sal_uInt32 i; for (i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { arrTestCase[i].input1->append( *(arrTestCase[i].input2) ); sal_Bool lastRes = ( arrTestCase[i].input1->getStr()== *(arrTestCase[i].expVal) && arrTestCase[i].input1->getLength() == arrTestCase[i].expVal->getLength() ); c_rtl_tres_state ( hRtlTestResult, lastRes, arrTestCase[i].comments, createName( pMeth, "append(const OUString &str)_001", i ) ); res &= lastRes; } return ( res ); } //------------------------------------------------------------------------ // testing the method append( const sal_Unicode * str ) //------------------------------------------------------------------------ sal_Bool SAL_CALL test_rtl_OUStringBuffer_append_002( hTestResult hRtlTestResult) { sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; OUString arrOUS[5]={OUString( aUStr7 ), OUString(), OUString( aUStr25 ), OUString( "\0",0, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString), OUString( aUStr28 )}; typedef struct TestCase { sal_Char* comments; OUString* expVal; OUStringBuffer* input1; sal_Unicode* input2; ~TestCase() { delete input1; delete expVal; } } TestCase; TestCase arrTestCase[]={ {"Appends the string(length less than 16) to the string buffer arrOUS[0]", new OUString(aUStr1), new OUStringBuffer(arrOUS[0]), aUStr8 }, {"Appends the string(length more than 16) to the string buffer arrOUS[0]", new OUString(aUStr2), new OUStringBuffer(arrOUS[0]), aUStr36 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[0]", new OUString(aUStr37), new OUStringBuffer(arrOUS[0]), aUStr23 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[0]", new OUString(aUStr7), new OUStringBuffer(arrOUS[0]), aUStr25 }, {"Appends the string(length less than 16) to the string buffer arrOUS[1]", new OUString(aUStr7), new OUStringBuffer(arrOUS[1]), aUStr7 }, {"Appends the string(length more than 16) to the string buffer arrOUS[1]", new OUString(aUStr2), new OUStringBuffer(arrOUS[1]), aUStr2 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[1]", new OUString(aUStr1), new OUStringBuffer(arrOUS[1]), aUStr1 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[1]", new OUString(), new OUStringBuffer(arrOUS[1]), aUStr25 }, {"Appends the string(length less than 16) to the string buffer arrOUS[2]", new OUString(aUStr7), new OUStringBuffer(arrOUS[2]), aUStr7 }, {"Appends the string(length more than 16) to the string buffer arrOUS[2]", new OUString(aUStr2), new OUStringBuffer(arrOUS[2]), aUStr2 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[2]", new OUString(aUStr1), new OUStringBuffer(arrOUS[2]), aUStr1 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[2]", new OUString(), new OUStringBuffer(arrOUS[2]), aUStr25 }, {"Appends the string(length less than 16) to the string buffer arrOUS[3]", new OUString(aUStr7), new OUStringBuffer(arrOUS[3]), aUStr7 }, {"Appends the string(length more than 16) to the string buffer arrOUS[3]", new OUString(aUStr2), new OUStringBuffer(arrOUS[3]), aUStr2 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[3]", new OUString(aUStr1), new OUStringBuffer(arrOUS[3]), aUStr1 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[3]", new OUString(), new OUStringBuffer(arrOUS[3]), aUStr25 }, {"Appends the string(length less than 16) to the string buffer arrOUS[4]", new OUString(aUStr29), new OUStringBuffer(arrOUS[4]), aUStr38 }, {"Appends the string(length more than 16) to the string buffer arrOUS[4]", new OUString(aUStr39), new OUStringBuffer(arrOUS[4]), aUStr17 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[4]", new OUString(aUStr40), new OUStringBuffer(arrOUS[4]), aUStr31 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[4]", new OUString(aUStr28), new OUStringBuffer(arrOUS[4]), aUStr25 } #ifdef WITH_CORE ,{"Appends the string(length equal to 0) to the string buffer(with INT_MAX) ", new OUString(), new OUStringBuffer(kSInt32Max), aUStr25 } #endif }; sal_Bool res = sal_True; sal_uInt32 i; for (i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { arrTestCase[i].input1->append( arrTestCase[i].input2 ); sal_Bool lastRes = ( arrTestCase[i].input1->getStr()== *(arrTestCase[i].expVal) && arrTestCase[i].input1->getLength() == arrTestCase[i].expVal->getLength() ); c_rtl_tres_state ( hRtlTestResult, lastRes, arrTestCase[i].comments, createName( pMeth, "append( const sal_Unicode * str )_002", i ) ); res &= lastRes; } return ( res ); } //------------------------------------------------------------------------ // testing the method append( const sal_Unicode * str, sal_Int32 len) //------------------------------------------------------------------------ sal_Bool SAL_CALL test_rtl_OUStringBuffer_append_003( hTestResult hRtlTestResult) { sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; OUString arrOUS[5]={OUString( aUStr7 ), OUString(), OUString( aUStr25 ), OUString( "\0",0, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString), OUString( aUStr28 )}; typedef struct TestCase { sal_Char* comments; OUString* expVal; OUStringBuffer* input1; sal_Unicode* input2; sal_Int32 input3; ~TestCase() { delete input1; delete expVal; } } TestCase; TestCase arrTestCase[]={ {"Appends the string(length less than 16) to the string buffer arrOUS[0]", new OUString(aUStr1), new OUStringBuffer(arrOUS[0]), aUStr36, 12 }, {"Appends the string(length more than 16) to the string buffer arrOUS[0]", new OUString(aUStr2), new OUStringBuffer(arrOUS[0]), aUStr36, 28 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[0]", new OUString(aUStr37), new OUStringBuffer(arrOUS[0]), aUStr23, 16 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[0]", new OUString(aUStr7), new OUStringBuffer(arrOUS[0]), aUStr2, 0 }, /* LLA: input3 must null < 0 {"Appends the string(length less than 0) to the string buffer arrOUS[0]", new OUString(aUStr41), new OUStringBuffer(arrOUS[0]), aUStr2, -1 }, */ {"Appends the string(length less than 16) to the string buffer arrOUS[1]", new OUString(aUStr7), new OUStringBuffer(arrOUS[1]), aUStr2, 4 }, {"Appends the string(length more than 16) to the string buffer arrOUS[1]", new OUString(aUStr2), new OUStringBuffer(arrOUS[1]), aUStr2, 32 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[1]", new OUString(aUStr1), new OUStringBuffer(arrOUS[1]), aUStr2, 16 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[1]", new OUString(), new OUStringBuffer(arrOUS[1]), aUStr2, 0 }, /* LLA: input3 must null < 0 {"Appends the string(length less than 0) to the string buffer arrOUS[1]", new OUString(), new OUStringBuffer(arrOUS[1]), aUStr2, -1 }, */ {"Appends the string(length less than 16) to the string buffer arrOUS[2]", new OUString(aUStr7), new OUStringBuffer(arrOUS[2]), aUStr2, 4 }, {"Appends the string(length more than 16) to the string buffer arrOUS[2]", new OUString(aUStr2), new OUStringBuffer(arrOUS[2]), aUStr2, 32 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[2]", new OUString(aUStr1), new OUStringBuffer(arrOUS[2]), aUStr2, 16 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[2]", new OUString(), new OUStringBuffer(arrOUS[2]), aUStr2, 0 }, /* LLA: input3 must null < 0 {"Appends the string(length less than 0) to the string buffer arrOUS[2]", new OUString(), new OUStringBuffer(arrOUS[2]), aUStr2, -1 }, */ {"Appends the string(length less than 16) to the string buffer arrOUS[3]", new OUString(aUStr7), new OUStringBuffer(arrOUS[3]), aUStr2, 4 }, {"Appends the string(length more than 16) to the string buffer arrOUS[3]", new OUString(aUStr2), new OUStringBuffer(arrOUS[3]), aUStr2, 32 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[3]", new OUString(aUStr1), new OUStringBuffer(arrOUS[3]), aUStr2, 16 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[3]", new OUString(), new OUStringBuffer(arrOUS[3]), aUStr2, 0 }, /* LLA: input3 must null < 0 {"Appends the string(length less than 0) to the string buffer arrOUS[3]", new OUString(), new OUStringBuffer(arrOUS[3]), aUStr2, -1 }, */ {"Appends the string(length less than 16) to the string buffer arrOUS[4]", new OUString(aUStr29), new OUStringBuffer(arrOUS[4]), aUStr38, 7 }, {"Appends the string(length more than 16) to the string buffer arrOUS[4]", new OUString(aUStr39), new OUStringBuffer(arrOUS[4]), aUStr17, 22 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[4]", new OUString(aUStr40), new OUStringBuffer(arrOUS[4]), aUStr31, 16 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[4]", new OUString(aUStr28), new OUStringBuffer(arrOUS[4]), aUStr2, 0 }, /* LLA: input3 must null < 0 {"Appends the string(length less than 0) to the string buffer arrOUS[4]", new OUString(aUStr42), new OUStringBuffer(arrOUS[4]), aUStr2, -1 } */ #ifdef WITH_CORE ,{"Appends the string(length equal to 0) to the string buffer(with INT_MAX) ", new OUString(), new OUStringBuffer(kSInt32Max), aUStr25 } #endif }; sal_Bool res = sal_True; sal_uInt32 i; for (i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { arrTestCase[i].input1->append( arrTestCase[i].input2, arrTestCase[i].input3); sal_Bool lastRes = ( arrTestCase[i].input1->getStr()== *(arrTestCase[i].expVal) && arrTestCase[i].input1->getLength() == arrTestCase[i].expVal->getLength() ); c_rtl_tres_state ( hRtlTestResult, lastRes, arrTestCase[i].comments, createName( pMeth, "append( const sal_Unicode * str, sal_Int32 len)_003", i ) ); res &= lastRes; } return ( res ); } //------------------------------------------------------------------------ // testing the method append(sal_Bool b) //------------------------------------------------------------------------ sal_Bool SAL_CALL test_rtl_OUStringBuffer_append_004( hTestResult hRtlTestResult) { sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; OUString arrOUS[5]={OUString( aUStr7 ), OUString(), OUString( aUStr25 ), OUString( "\0",0, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString), OUString( aUStr28 )}; typedef struct TestCase { sal_Char* comments; OUString* expVal; OUStringBuffer* input1; sal_Bool input2; ~TestCase() { delete input1; delete expVal; } } TestCase; TestCase arrTestCase[]={ {"Appends the sal_Bool(sal_True) to the string buffer arrOUS[0]", new OUString(aUStr45), new OUStringBuffer(arrOUS[0]), sal_True }, {"Appends the sal_Bool(sal_False) to the string buffer arrOUS[0]", new OUString(aUStr46), new OUStringBuffer(arrOUS[0]), sal_False }, {"Appends the sal_Bool(sal_True) to the string buffer arrOUS[1]", new OUString(aUStr47), new OUStringBuffer(arrOUS[1]), sal_True }, {"Appends the sal_Bool(sal_False) to the string buffer arrOUS[1]", new OUString(aUStr48), new OUStringBuffer(arrOUS[1]), sal_False }, {"Appends the sal_Bool(sal_True) to the string buffer arrOUS[2]", new OUString(aUStr47), new OUStringBuffer(arrOUS[2]), sal_True }, {"Appends the sal_Bool(sal_False) to the string buffer arrOUS[2]", new OUString(aUStr48), new OUStringBuffer(arrOUS[2]), sal_False }, {"Appends the sal_Bool(sal_True) to the string buffer arrOUS[3]", new OUString(aUStr47), new OUStringBuffer(arrOUS[3]), sal_True }, {"Appends the sal_Bool(sal_False) to the string buffer arrOUS[3]", new OUString(aUStr48), new OUStringBuffer(arrOUS[3]), sal_False }, {"Appends the sal_Bool(sal_True) to the string buffer arrOUS[4]", new OUString(aUStr49), new OUStringBuffer(arrOUS[4]), sal_True }, {"Appends the sal_Bool(sal_False) to the string buffer arrOUS[4]", new OUString(aUStr50), new OUStringBuffer(arrOUS[4]), sal_False } #ifdef WITH_CORE ,{"Appends the sal_Bool(sal_True) to the string buffer(with INT_MAX) ", new OUString(aUStr47), new OUStringBuffer(kSInt32Max), sal_True }, {"Appends the sal_Bool(sal_False) to the string buffer(with INT_MAX) ", new OUString(aUStr48), new OUStringBuffer(kSInt32Max), sal_False } #endif }; sal_Bool res = sal_True; sal_uInt32 i; for (i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { arrTestCase[i].input1->append( arrTestCase[i].input2 ); sal_Bool lastRes = ( arrTestCase[i].input1->getStr()== *(arrTestCase[i].expVal) && arrTestCase[i].input1->getLength() == arrTestCase[i].expVal->getLength() ); c_rtl_tres_state ( hRtlTestResult, lastRes, arrTestCase[i].comments, createName( pMeth, "append( sal_Bool b)_004", i ) ); res &= lastRes; } return ( res ); } extern "C" void /* sal_Bool */ SAL_CALL test_rtl_OUStringBuffer_appends( hTestResult hRtlTestResult ) { c_rtl_tres_state_start( hRtlTestResult, "appends"); sal_Bool bTSState = test_rtl_OUStringBuffer_append_001( hRtlTestResult ); bTSState &= test_rtl_OUStringBuffer_append_002( hRtlTestResult); bTSState &= test_rtl_OUStringBuffer_append_003( hRtlTestResult); bTSState &= test_rtl_OUStringBuffer_append_004( hRtlTestResult); c_rtl_tres_state_end( hRtlTestResult, "appends"); // return( bTSState ); } //------------------------------------------------------------------------ // testing the method appendAscii( const sal_Char * str ) //------------------------------------------------------------------------ sal_Bool SAL_CALL test_rtl_OUStringBuffer_appendAscii_001( hTestResult hRtlTestResult) { sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; OUString arrOUS[5]={OUString( aUStr7 ), OUString(), OUString( aUStr25 ), OUString( "\0",0, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString), OUString( aUStr28 )}; typedef struct TestCase { sal_Char* comments; OUString* expVal; OUStringBuffer* input1; const sal_Char* input2; ~TestCase() { delete input1; delete expVal; } } TestCase; TestCase arrTestCase[]={ {"Appends the string(length less than 16) to the string buffer arrOUS[0]", new OUString(aUStr1), new OUStringBuffer(arrOUS[0]), kTestStr8 }, {"Appends the string(length more than 16) to the string buffer arrOUS[0]", new OUString(aUStr2), new OUStringBuffer(arrOUS[0]), kTestStr36 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[0]", new OUString(aUStr37), new OUStringBuffer(arrOUS[0]), kTestStr23 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[0]", new OUString(aUStr7), new OUStringBuffer(arrOUS[0]), kTestStr25 }, {"Appends the string(length less than 16) to the string buffer arrOUS[1]", new OUString(aUStr7), new OUStringBuffer(arrOUS[1]), kTestStr7 }, {"Appends the string(length more than 16) to the string buffer arrOUS[1]", new OUString(aUStr2), new OUStringBuffer(arrOUS[1]), kTestStr2 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[1]", new OUString(aUStr1), new OUStringBuffer(arrOUS[1]), kTestStr1 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[1]", new OUString(), new OUStringBuffer(arrOUS[1]), kTestStr25 }, {"Appends the string(length less than 16) to the string buffer arrOUS[2]", new OUString(aUStr7), new OUStringBuffer(arrOUS[2]), kTestStr7 }, {"Appends the string(length more than 16) to the string buffer arrOUS[2]", new OUString(aUStr2), new OUStringBuffer(arrOUS[2]), kTestStr2 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[2]", new OUString(aUStr1), new OUStringBuffer(arrOUS[2]), kTestStr1 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[2]", new OUString(), new OUStringBuffer(arrOUS[2]), kTestStr25 }, {"Appends the string(length less than 16) to the string buffer arrOUS[3]", new OUString(aUStr7), new OUStringBuffer(arrOUS[3]), kTestStr7 }, {"Appends the string(length more than 16) to the string buffer arrOUS[3]", new OUString(aUStr2), new OUStringBuffer(arrOUS[3]), kTestStr2 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[3]", new OUString(aUStr1), new OUStringBuffer(arrOUS[3]), kTestStr1 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[3]", new OUString(), new OUStringBuffer(arrOUS[3]), kTestStr25 }, {"Appends the string(length less than 16) to the string buffer arrOUS[4]", new OUString(aUStr29), new OUStringBuffer(arrOUS[4]), kTestStr38 }, {"Appends the string(length more than 16) to the string buffer arrOUS[4]", new OUString(aUStr39), new OUStringBuffer(arrOUS[4]), kTestStr17 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[4]", new OUString(aUStr40), new OUStringBuffer(arrOUS[4]), kTestStr31 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[4]", new OUString(aUStr28), new OUStringBuffer(arrOUS[4]), kTestStr25 } /*{"Appends the string(with special characters) to the string buffer arrOUS[4]", new OUString(aUStr43), new OUStringBuffer(arrOUS[4]), kTestStr44 }*/ #ifdef WITH_CORE ,{"Appends the string(length equal to 0) to the string buffer(with INT_MAX) ", new OUString(), new OUStringBuffer(kSInt32Max), kTestStr25 } #endif }; sal_Bool res = sal_True; sal_uInt32 i; for (i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { arrTestCase[i].input1->appendAscii( arrTestCase[i].input2 ); sal_Bool lastRes = ( arrTestCase[i].input1->getStr()== *(arrTestCase[i].expVal) && arrTestCase[i].input1->getLength() == arrTestCase[i].expVal->getLength() ); c_rtl_tres_state ( hRtlTestResult, lastRes, arrTestCase[i].comments, createName( pMeth, "appendAscii_001", i ) ); res &= lastRes; } return ( res ); } //------------------------------------------------------------------------ // testing the method appendAscii( const sal_Char * str, sal_Int32 len) //------------------------------------------------------------------------ sal_Bool SAL_CALL test_rtl_OUStringBuffer_appendAscii_002( hTestResult hRtlTestResult) { sal_Char methName[MAXBUFLENGTH]; sal_Char* pMeth = methName; OUString arrOUS[5]={OUString( aUStr7 ), OUString(), OUString( aUStr25 ), OUString( "\0",0, kEncodingRTLTextUSASCII, kConvertFlagsOStringToOUString), OUString( aUStr28 )}; typedef struct TestCase { sal_Char* comments; OUString* expVal; OUStringBuffer* input1; const sal_Char* input2; sal_Int32 input3; ~TestCase() { delete input1; delete expVal; } } TestCase; TestCase arrTestCase[]={ {"Appends the string(length less than 16) to the string buffer arrOUS[0]", new OUString(aUStr1), new OUStringBuffer(arrOUS[0]), kTestStr36, 12 }, {"Appends the string(length more than 16) to the string buffer arrOUS[0]", new OUString(aUStr2), new OUStringBuffer(arrOUS[0]), kTestStr36, 28 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[0]", new OUString(aUStr37), new OUStringBuffer(arrOUS[0]), kTestStr23, 16 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[0]", new OUString(aUStr7), new OUStringBuffer(arrOUS[0]), kTestStr2, 0 }, /* LLA: input3 must null < 0 {"Appends the string(length less than 0) to the string buffer arrOUS[0]", new OUString(aUStr41), new OUStringBuffer(arrOUS[0]), kTestStr2, -1 }, */ {"Appends the string(length less than 16) to the string buffer arrOUS[1]", new OUString(aUStr7), new OUStringBuffer(arrOUS[1]), kTestStr2, 4 }, {"Appends the string(length more than 16) to the string buffer arrOUS[1]", new OUString(aUStr2), new OUStringBuffer(arrOUS[1]), kTestStr2, 32 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[1]", new OUString(aUStr1), new OUStringBuffer(arrOUS[1]), kTestStr2, 16 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[1]", new OUString(), new OUStringBuffer(arrOUS[1]), kTestStr2, 0 }, /* LLA: input3 must null < 0 {"Appends the string(length less than 0) to the string buffer arrOUS[1]", new OUString(), new OUStringBuffer(arrOUS[1]), kTestStr2, -1 }, */ {"Appends the string(length less than 16) to the string buffer arrOUS[2]", new OUString(aUStr7), new OUStringBuffer(arrOUS[2]), kTestStr2, 4 }, {"Appends the string(length more than 16) to the string buffer arrOUS[2]", new OUString(aUStr2), new OUStringBuffer(arrOUS[2]), kTestStr2, 32 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[2]", new OUString(aUStr1), new OUStringBuffer(arrOUS[2]), kTestStr2, 16 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[2]", new OUString(), new OUStringBuffer(arrOUS[2]), kTestStr2, 0 }, /* LLA: input3 must null < 0 {"Appends the string(length less than 0) to the string buffer arrOUS[2]", new OUString(), new OUStringBuffer(arrOUS[2]), kTestStr2, -1 }, */ {"Appends the string(length less than 16) to the string buffer arrOUS[3]", new OUString(aUStr7), new OUStringBuffer(arrOUS[3]), kTestStr2, 4 }, {"Appends the string(length more than 16) to the string buffer arrOUS[3]", new OUString(aUStr2), new OUStringBuffer(arrOUS[3]), kTestStr2, 32 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[3]", new OUString(aUStr1), new OUStringBuffer(arrOUS[3]), kTestStr2, 16 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[3]", new OUString(), new OUStringBuffer(arrOUS[3]), kTestStr2, 0 }, /* LLA: input3 must null < 0 {"Appends the string(length less than 0) to the string buffer arrOUS[3]", new OUString(), new OUStringBuffer(arrOUS[3]), kTestStr2, -1 }, */ {"Appends the string(length less than 16) to the string buffer arrOUS[4]", new OUString(aUStr29), new OUStringBuffer(arrOUS[4]), kTestStr38, 7 }, {"Appends the string(length more than 16) to the string buffer arrOUS[4]", new OUString(aUStr39), new OUStringBuffer(arrOUS[4]), kTestStr17, 22 }, {"Appends the string(length equal to 16) to the string buffer arrOUS[4]", new OUString(aUStr40), new OUStringBuffer(arrOUS[4]), kTestStr31, 16 }, {"Appends the string(length equal to 0) to the string buffer arrOUS[4]", new OUString(aUStr28), new OUStringBuffer(arrOUS[4]), kTestStr2, 0 }, /* LLA: input3 must null < 0 {"Appends the string(length less than 0) to the string buffer arrOUS[4]", new OUString(aUStr42), new OUStringBuffer(arrOUS[4]), kTestStr2, -1 } */ #ifdef WITH_CORE ,{"Appends the string(length equal to 0) to the string buffer(with INT_MAX) ", new OUString(), new OUStringBuffer(kSInt32Max), kTestStr25 } #endif }; sal_Bool res = sal_True; sal_uInt32 i; for (i = 0; i < (sizeof (arrTestCase))/(sizeof (TestCase)); i++) { arrTestCase[i].input1->appendAscii( arrTestCase[i].input2, arrTestCase[i].input3); sal_Bool lastRes = ( arrTestCase[i].input1->getStr()== *(arrTestCase[i].expVal) && arrTestCase[i].input1->getLength() == arrTestCase[i].expVal->getLength() ); c_rtl_tres_state ( hRtlTestResult, lastRes, arrTestCase[i].comments, createName( pMeth, "appendAscii_002", i ) ); res &= lastRes; } return ( res ); } extern "C" void /* sal_Bool */ SAL_CALL test_rtl_OUStringBuffer_appendAsciis( hTestResult hRtlTestResult ) { c_rtl_tres_state_start( hRtlTestResult, "appendAsciis"); sal_Bool bTSState = test_rtl_OUStringBuffer_appendAscii_001( hRtlTestResult ); bTSState &= test_rtl_OUStringBuffer_appendAscii_002( hRtlTestResult); c_rtl_tres_state_end( hRtlTestResult, "appendAsciis"); // return( bTSState ); } // ----------------------------------------------------------------------------- extern "C" void /* sal_Bool */ SAL_CALL test_rtl_OUStringBuffer( hTestResult hRtlTestResult ) { c_rtl_tres_state_start(hRtlTestResult, "rtl_OUStringBuffer" ); test_rtl_OUStringBuffer_ctors( hRtlTestResult ); test_rtl_OUStringBuffer_makeStringAndClear( hRtlTestResult ); test_rtl_OUStringBuffer_getLength( hRtlTestResult ); test_rtl_OUStringBuffer_getCapacity( hRtlTestResult ); test_rtl_OUStringBuffer_ensureCapacity( hRtlTestResult ); test_rtl_OUStringBuffer_setLength( hRtlTestResult ); test_rtl_OUStringBuffer_charAt( hRtlTestResult ); test_rtl_OUStringBuffer_csuc( hRtlTestResult ); test_rtl_OUStringBuffer_getStr( hRtlTestResult ); test_rtl_OUStringBuffer_setCharAt( hRtlTestResult ); test_rtl_OUStringBuffer_appends( hRtlTestResult ); test_rtl_OUStringBuffer_appendAsciis( hRtlTestResult ); c_rtl_tres_state_end(hRtlTestResult, "rtl_OUStringBuffer"); } // ----------------------------------------------------------------------------- void RegisterAdditionalFunctions(FktRegFuncPtr _pFunc) { if (_pFunc) { (_pFunc)(&test_rtl_OUStringBuffer, ""); } }