/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* 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 .
*/
#include <sal/types.h>
#include <rtl/string.hxx>
#include "rtl_String_Const.h"
#include <rtl/strbuf.hxx>
#include <cppunit/TestAssert.h>
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include <string.h>
// This file contains cppunit tests for the
// OString and OStringBuffer classes
// testing constructors
namespace rtl_OStringBuffer
{
class ctors :
public CppUnit::TestFixture
{
public:
void ctor_001()
{
OStringBuffer aStrBuf;
const char* pStr = aStrBuf.getStr();
CPPUNIT_ASSERT_MESSAGE
(
"New OStringBuffer containing no characters",
aStrBuf.isEmpty()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"New OStringBuffer containing no characters",
'\0', *pStr
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"New OStringBuffer containing no characters",
sal_Int32(16), aStrBuf.getCapacity()
);
}
void ctor_002()
{
OString aStrtmp( kTestStr1 );
OStringBuffer aStrBuftmp( aStrtmp );
OStringBuffer aStrBuf( aStrBuftmp );
// sal_Bool res = cmpstr(aStrBuftmp.getStr(),aStrBuf.getStr());
sal_Int32 nLenStrBuftmp = aStrBuftmp.getLength();
OString sStr(aStrBuftmp.getStr());
bool res = aStrtmp == sStr;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"New OStringBuffer from another OStringBuffer",
nLenStrBuftmp, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"New OStringBuffer from another OStringBuffer",
aStrBuftmp.getCapacity(), aStrBuf.getCapacity()
);
CPPUNIT_ASSERT_MESSAGE
(
"New OStringBuffer from another OStringBuffer",
res
);
}
void ctor_003()
{
OStringBuffer aStrBuf1(kTestStr2Len);
OStringBuffer aStrBuf2(0);
const char* pStr1 = aStrBuf1.getStr();
const char* pStr2 = aStrBuf2.getStr();
CPPUNIT_ASSERT_MESSAGE
(
"New OStringBuffer containing no characters and contain assigned capacity",
aStrBuf1.isEmpty()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"New OStringBuffer containing no characters and contain assigned capacity",
'\0', *pStr1
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"New OStringBuffer containing no characters and contain assigned capacity",
kTestStr2Len, aStrBuf1.getCapacity()
);
CPPUNIT_ASSERT_MESSAGE
(
"New OStringBuffer containing no characters and contain assigned capacity",
aStrBuf2.isEmpty()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"New OStringBuffer containing no characters and contain assigned capacity",
'\0', *pStr2
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"New OStringBuffer containing no characters and contain assigned capacity",
sal_Int32(0), aStrBuf2.getCapacity()
);
}
void ctor_004()
{
OString aStrtmp( kTestStr1 );
OStringBuffer aStrBuf( aStrtmp );
sal_Int32 leg = aStrBuf.getLength();
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"New OStringBuffer from OString",
aStrtmp, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"New OStringBuffer from OString",
aStrtmp.pData->length, leg
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"New OStringBuffer from OString",
leg+16, aStrBuf.getCapacity()
);
}
void ctor_005() {
OStringBuffer b1;
auto dummy = b1.makeStringAndClear();
(
void)dummy;
OStringBuffer b2(b1);
(
void)b2;
}
void ctor_006()
{
//pass in a const char*, get a temp
//OString
OStringBuffer aStrBuf(kTestStr1);
sal_Int32 leg = aStrBuf.getLength();
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"New OStringBuffer from const char*",
rtl_str_getLength(kTestStr1), leg
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"New OStringBuffer from const char*",
leg+16, aStrBuf.getCapacity()
);
}
CPPUNIT_TEST_SUITE(ctors);
CPPUNIT_TEST(ctor_001);
CPPUNIT_TEST(ctor_002);
CPPUNIT_TEST(ctor_003);
CPPUNIT_TEST(ctor_004);
CPPUNIT_TEST(ctor_005);
CPPUNIT_TEST(ctor_006);
CPPUNIT_TEST_SUITE_END();
};
class makeStringAndClear :
public CppUnit::TestFixture
{
OString arrOUS[6];
public:
void setUp() override
{
arrOUS[0] = OString( kTestStr1 );
arrOUS[1] = OString( kTestStr14 );
arrOUS[2] = OString( kTestStr25 );
arrOUS[3] = OString( kTestStr27 );
arrOUS[4] = OString( kTestStr29 );
arrOUS[5] = OString(
"\0", 1 );
}
void makeStringAndClear_001()
{
OStringBuffer aStrBuf1;
bool lastRes = aStrBuf1.makeStringAndClear().isEmpty();
CPPUNIT_ASSERT_MESSAGE
(
"two empty strings(def. constructor)",
lastRes
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"two empty strings(def. constructor)",
sal_Int32(0), aStrBuf1.getCapacity()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"two empty strings(def. constructor)",
'\0', *(aStrBuf1.getStr())
);
}
void makeStringAndClear_002()
{
OStringBuffer aStrBuf2(26);
bool lastRes = aStrBuf2.makeStringAndClear().isEmpty();
CPPUNIT_ASSERT_MESSAGE
(
"two empty strings(with an argu)",
lastRes
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"two empty strings(with an argu)",
sal_Int32(0), aStrBuf2.getCapacity()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"two empty strings(with an argu)",
'\0', *(aStrBuf2.getStr())
);
}
void makeStringAndClear_003()
{
OStringBuffer aStrBuf3(arrOUS[0]);
OString aStr3(arrOUS[0]);
bool lastRes = (aStrBuf3.makeStringAndClear() == aStr3 );
CPPUNIT_ASSERT_MESSAGE
(
"normal string",
lastRes
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"normal string",
sal_Int32(0), aStrBuf3.getCapacity()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"normal string",
'\0', *(aStrBuf3.getStr())
);
}
void makeStringAndClear_004()
{
OStringBuffer aStrBuf4(arrOUS[1]);
OString aStr4(arrOUS[1]);
bool lastRes = (aStrBuf4.makeStringAndClear() == aStr4 );
CPPUNIT_ASSERT_MESSAGE
(
"string with space ",
lastRes
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"string with space ",
sal_Int32(0), aStrBuf4.getCapacity()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"string with space ",
'\0', *(aStrBuf4.getStr())
);
}
void makeStringAndClear_005()
{
OStringBuffer aStrBuf5(arrOUS[2]);
OString aStr5(arrOUS[2]);
bool lastRes = (aStrBuf5.makeStringAndClear() == aStr5 );
CPPUNIT_ASSERT_MESSAGE
(
"empty string",
lastRes
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"empty string",
sal_Int32(0), aStrBuf5.getCapacity()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"empty string",
'\0', *(aStrBuf5.getStr())
);
}
void makeStringAndClear_006()
{
OStringBuffer aStrBuf6(arrOUS[3]);
OString aStr6(arrOUS[3]);
bool lastRes = (aStrBuf6.makeStringAndClear() == aStr6 );
CPPUNIT_ASSERT_MESSAGE
(
"string with a character",
lastRes
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"string with a character",
sal_Int32(0), aStrBuf6.getCapacity()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"string with a character",
'\0', *(aStrBuf6.getStr())
);
}
void makeStringAndClear_007()
{
OStringBuffer aStrBuf7(arrOUS[4]);
OString aStr7(arrOUS[4]);
bool lastRes = (aStrBuf7.makeStringAndClear() == aStr7 );
CPPUNIT_ASSERT_MESSAGE
(
"string with special characters",
lastRes
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"string with special characters",
sal_Int32(0), aStrBuf7.getCapacity()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"string with special characters",
'\0', *(aStrBuf7.getStr())
);
}
void makeStringAndClear_008()
{
OStringBuffer aStrBuf8(arrOUS[5]);
OString aStr8(arrOUS[5]);
bool lastRes = (aStrBuf8.makeStringAndClear() == aStr8 );
CPPUNIT_ASSERT_MESSAGE
(
"string only with (\0)",
lastRes
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"string only with (\0)",
sal_Int32(0), aStrBuf8.getCapacity()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"string only with (\0)",
'\0', *(aStrBuf8.getStr())
);
}
CPPUNIT_TEST_SUITE(makeStringAndClear);
CPPUNIT_TEST(makeStringAndClear_001);
CPPUNIT_TEST(makeStringAndClear_002);
CPPUNIT_TEST(makeStringAndClear_003);
CPPUNIT_TEST(makeStringAndClear_004);
CPPUNIT_TEST(makeStringAndClear_005);
CPPUNIT_TEST(makeStringAndClear_006);
CPPUNIT_TEST(makeStringAndClear_007);
CPPUNIT_TEST(makeStringAndClear_008);
CPPUNIT_TEST_SUITE_END();
};
class remove :
public CppUnit::TestFixture
{
public:
void remove_001()
{
OStringBuffer sb(
RTL_CONSTASCII_STRINGPARAM(
"Red Hat, Inc."));
sb.remove(0, 4);
CPPUNIT_ASSERT(sb.toString().equalsL(
RTL_CONSTASCII_STRINGPARAM(
"Hat, Inc.")));
sb.remove(3, 6);
CPPUNIT_ASSERT(sb.toString().equalsL(
RTL_CONSTASCII_STRINGPARAM(
"Hat")));
sb.remove(0, 100);
CPPUNIT_ASSERT(sb.toString().isEmpty());
sb.append(RTL_CONSTASCII_STRINGPARAM(
"Red Hat, Inc."));
sb.remove(3, 100);
CPPUNIT_ASSERT(sb.toString().equalsL(
RTL_CONSTASCII_STRINGPARAM(
"Red")));
sb.remove(0, sb.getLength());
CPPUNIT_ASSERT(sb.toString().isEmpty());
}
CPPUNIT_TEST_SUITE(remove);
CPPUNIT_TEST(remove_001);
CPPUNIT_TEST_SUITE_END();
};
class getLength :
public CppUnit::TestFixture
{
OString arrOUS[6];
public:
void setUp() override
{
arrOUS[0] = OString( kTestStr1 );
arrOUS[1] =
"1"_ostr;
arrOUS[2] = OString( );
arrOUS[3] =
""_ostr;
arrOUS[4] = OString(
"\0", 1 );
arrOUS[5] = OString( kTestStr2 );
}
void getLength_001()
{
OStringBuffer aStrBuf( arrOUS[0] );
sal_Int32 expVal = kTestStr1Len;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"length of ascii string",
expVal, aStrBuf.getLength()
);
}
void getLength_002()
{
OStringBuffer aStrBuf( arrOUS[1] );
sal_Int32 expVal = 1;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"length of ascii string of size 1",
expVal, aStrBuf.getLength()
);
}
void getLength_003()
{
OStringBuffer aStrBuf( arrOUS[2] );
sal_Int32 expVal = 0;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"length of empty string",
expVal, aStrBuf.getLength()
);
}
void getLength_004()
{
OStringBuffer aStrBuf( arrOUS[3] );
sal_Int32 expVal = 0;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"length of empty string (empty ascii string arg)",
expVal, aStrBuf.getLength()
);
}
void getLength_005()
{
OStringBuffer aStrBuf( arrOUS[4] );
sal_Int32 expVal = 1;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"length of string with \\0 embedded",
expVal, aStrBuf.getLength()
);
}
void getLength_006()
{
OStringBuffer aStrBuf( arrOUS[5] );
sal_Int32 expVal = kTestStr2Len;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"length(>16) of ascii string",
expVal, aStrBuf.getLength()
);
}
void getLength_007()
{
OStringBuffer aStrBuf;
sal_Int32 expVal = 0;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"length of empty string (default constructor)",
expVal, aStrBuf.getLength()
);
}
void getLength_008()
{
OStringBuffer aStrBuf( 26 );
sal_Int32 expVal = 0;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"length of empty string (with capacity)",
expVal, aStrBuf.getLength()
);
}
CPPUNIT_TEST_SUITE( getLength );
CPPUNIT_TEST( getLength_001 );
CPPUNIT_TEST( getLength_002 );
CPPUNIT_TEST( getLength_003 );
CPPUNIT_TEST( getLength_004 );
CPPUNIT_TEST( getLength_005 );
CPPUNIT_TEST( getLength_006 );
CPPUNIT_TEST( getLength_007 );
CPPUNIT_TEST( getLength_008 );
CPPUNIT_TEST_SUITE_END();
};
class getCapacity :
public CppUnit::TestFixture
{
OString arrOUS[6];
public:
void setUp() override
{
arrOUS[0] = OString( kTestStr1 );
arrOUS[1] =
"1"_ostr;
arrOUS[2] = OString( );
arrOUS[3] =
""_ostr;
arrOUS[4] = OString(
"\0", 1 );
arrOUS[5] = OString( kTestStr2 );
}
void getCapacity_001()
{
OStringBuffer aStrBuf( arrOUS[0] );
sal_Int32 expVal = kTestStr1Len+16;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity of ascii string",
expVal, aStrBuf.getCapacity()
);
}
void getCapacity_002()
{
OStringBuffer aStrBuf( arrOUS[1] );
sal_Int32 expVal = 1+16;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity of ascii string of size 1",
expVal, aStrBuf.getCapacity()
);
}
void getCapacity_003()
{
OStringBuffer aStrBuf( arrOUS[2] );
sal_Int32 expVal = 0+16;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity of empty string",
expVal, aStrBuf.getCapacity()
);
}
void getCapacity_004()
{
OStringBuffer aStrBuf( arrOUS[3] );
sal_Int32 expVal = 0+16;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity of empty string (empty ascii string arg)",
expVal, aStrBuf.getCapacity()
);
}
void getCapacity_005()
{
OStringBuffer aStrBuf( arrOUS[4] );
sal_Int32 expVal = 1+16;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity of string with \\0 embedded",
expVal, aStrBuf.getCapacity()
);
}
void getCapacity_006()
{
OStringBuffer aStrBuf( arrOUS[5] );
sal_Int32 expVal = kTestStr2Len+16;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity(>16) of ascii string",
expVal, aStrBuf.getCapacity()
);
}
void getCapacity_007()
{
OStringBuffer aStrBuf;
sal_Int32 expVal = 16;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity of empty string (default constructor)",
expVal, aStrBuf.getCapacity()
);
}
void getCapacity_010()
{
OStringBuffer aStrBuf( 16 );
sal_Int32 expVal = 16;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity of empty string (with capacity 16)",
expVal, aStrBuf.getCapacity()
);
}
void getCapacity_011()
{
OStringBuffer aStrBuf( 6 );
sal_Int32 expVal = 6;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity of empty string (with capacity 6)",
expVal, aStrBuf.getCapacity()
);
}
void getCapacity_012()
{
OStringBuffer aStrBuf( 0 );
sal_Int32 expVal = 0;
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity of empty string (with capacity 0)",
expVal, aStrBuf.getCapacity()
);
}
CPPUNIT_TEST_SUITE( getCapacity );
CPPUNIT_TEST( getCapacity_001 );
CPPUNIT_TEST( getCapacity_002 );
CPPUNIT_TEST( getCapacity_003 );
CPPUNIT_TEST( getCapacity_004 );
CPPUNIT_TEST( getCapacity_005 );
CPPUNIT_TEST( getCapacity_006 );
CPPUNIT_TEST( getCapacity_007 );
CPPUNIT_TEST( getCapacity_010 );
CPPUNIT_TEST( getCapacity_011 );
CPPUNIT_TEST( getCapacity_012 );
CPPUNIT_TEST_SUITE_END();
};
class ensureCapacity :
public CppUnit::TestFixture
{
void ensureCapacity_001()
{
sal_Int32 expVal = 16;
OStringBuffer aStrBuf;
sal_Int32 input = 5;
aStrBuf.ensureCapacity( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity equal to 16, minimum is 5",
expVal, aStrBuf.getCapacity()
);
}
void ensureCapacity_002()
{
sal_Int32 expVal = 16;
OStringBuffer aStrBuf;
sal_Int32 input = -5;
aStrBuf.ensureCapacity( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity equal to 16, minimum is -5",
expVal, aStrBuf.getCapacity()
);
}
void ensureCapacity_003()
{
sal_Int32 expVal = 16;
OStringBuffer aStrBuf;
sal_Int32 input = 0;
aStrBuf.ensureCapacity( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity equal to 16, minimum is 0",
expVal, aStrBuf.getCapacity()
);
}
void ensureCapacity_004()
//the testcase is based on comments
{
sal_Int32 expVal = 20;
OStringBuffer aStrBuf;
sal_Int32 input = 20;
aStrBuf.ensureCapacity( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity equal to 16, minimum is 20",
expVal, aStrBuf.getCapacity()
);
}
void ensureCapacity_005()
{
sal_Int32 expVal = 50;
OStringBuffer aStrBuf;
sal_Int32 input = 50;
aStrBuf.ensureCapacity( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity equal to 16, minimum is 50",
expVal, aStrBuf.getCapacity()
);
}
void ensureCapacity_006()
{
sal_Int32 expVal = 20;
OStringBuffer aStrBuf( 6 );
sal_Int32 input = 20;
aStrBuf.ensureCapacity( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity equal to 6, minimum is 20",
expVal, aStrBuf.getCapacity()
);
}
void ensureCapacity_007()
{
sal_Int32 expVal = 6;
OStringBuffer aStrBuf( 6 );
sal_Int32 input = 2;
aStrBuf.ensureCapacity( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity equal to 6, minimum is 2",
expVal, aStrBuf.getCapacity()
);
}
void ensureCapacity_008()
{
sal_Int32 expVal = 6;
OStringBuffer aStrBuf( 6 );
sal_Int32 input = -6;
aStrBuf.ensureCapacity( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity equal to 6, minimum is -6",
expVal, aStrBuf.getCapacity()
);
}
void ensureCapacity_009()
//the testcase is based on comments
{
sal_Int32 expVal = 10;
OStringBuffer aStrBuf( 6 );
sal_Int32 input = 10;
aStrBuf.ensureCapacity( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity equal to 6, minimum is -6",
expVal, aStrBuf.getCapacity()
);
}
void ensureCapacity_010()
{
sal_Int32 expVal = 6;
OStringBuffer aStrBuf( 0 );
sal_Int32 input = 6;
aStrBuf.ensureCapacity( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity equal to 0, minimum is 6",
expVal, aStrBuf.getCapacity()
);
}
void ensureCapacity_011()
//the testcase is based on comments
{
sal_Int32 expVal = 2;
// capacity is x = (str->length + 1) * 2; minimum < x ? x : minimum
OStringBuffer aStrBuf( 0 );
sal_Int32 input = 1;
aStrBuf.ensureCapacity( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity equal to 0, minimum is 1",
expVal, aStrBuf.getCapacity()
);
}
void ensureCapacity_012()
{
sal_Int32 expVal = 0;
OStringBuffer aStrBuf( 0 );
sal_Int32 input = -1;
aStrBuf.ensureCapacity( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"capacity equal to 0, minimum is -1",
expVal, aStrBuf.getCapacity()
);
}
CPPUNIT_TEST_SUITE( ensureCapacity );
CPPUNIT_TEST( ensureCapacity_001 );
CPPUNIT_TEST( ensureCapacity_002 );
CPPUNIT_TEST( ensureCapacity_003 );
CPPUNIT_TEST( ensureCapacity_004 );
CPPUNIT_TEST( ensureCapacity_005 );
CPPUNIT_TEST( ensureCapacity_006 );
CPPUNIT_TEST( ensureCapacity_007 );
CPPUNIT_TEST( ensureCapacity_008 );
CPPUNIT_TEST( ensureCapacity_009 );
CPPUNIT_TEST( ensureCapacity_010 );
CPPUNIT_TEST( ensureCapacity_011 );
CPPUNIT_TEST( ensureCapacity_012 );
CPPUNIT_TEST_SUITE_END();
};
class setLength :
public CppUnit::TestFixture
{
OString arrOUS[6];
public:
void setUp() override
{
arrOUS[0] = OString( kTestStr1 );
arrOUS[1] =
"1"_ostr;
arrOUS[2] = OString( );
arrOUS[3] =
""_ostr;
arrOUS[4] = OString(
"\0", 1 );
arrOUS[5] = OString( kTestStr2 );
}
void setLength_001()
{
OStringBuffer aStrBuf( arrOUS[0] );
sal_Int32 expVal1 = 50;
OString expVal2( kTestStr1 );
sal_Int32 expVal3 = 50;
sal_Int32 input = 50;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer(kTestStr1)",
expVal2, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer(kTestStr1)",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer(kTestStr1)",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_002()
{
OStringBuffer aStrBuf( arrOUS[0] );
sal_Int32 expVal1 = kTestStr13Len;
OString expVal2( kTestStr1 );
sal_Int32 expVal3 = 32;
sal_Int32 input = kTestStr13Len;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer(kTestStr1)",
expVal2, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer(kTestStr1)",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer(kTestStr1)",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_003()
{
OStringBuffer aStrBuf( arrOUS[0] );
sal_Int32 expVal1 = kTestStr1Len;
OString expVal2( kTestStr1 );
sal_Int32 expVal3 = 32;
sal_Int32 input = kTestStr1Len;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to the length of OStringBuffer(kTestStr1)",
expVal2, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to the length of OStringBuffer(kTestStr1)",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to the length of OStringBuffer(kTestStr1)",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_004()
{
OStringBuffer aStrBuf( arrOUS[0] );
sal_Int32 expVal1 = kTestStr7Len;
OString expVal2( kTestStr7 );
sal_Int32 expVal3 = 32;
sal_Int32 input = kTestStr7Len;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OStringBuffer(kTestStr1)",
expVal2, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OStringBuffer(kTestStr1)",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OStringBuffer(kTestStr1)",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_005()
{
OStringBuffer aStrBuf( arrOUS[0] );
sal_Int32 expVal1 = 0;
sal_Int32 expVal3 = 32;
sal_Int32 input = 0;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to 0",
'\0', aStrBuf.getStr()[0]
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to 0",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to 0",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_006()
{
OStringBuffer aStrBuf( arrOUS[1] );
sal_Int32 expVal1 = 25;
OString expVal2( arrOUS[1] );
sal_Int32 expVal3 = 25;
sal_Int32 input = 25;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer(1)",
expVal2, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer(1)",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer(1)",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_007()
{
OStringBuffer aStrBuf( arrOUS[1] );
sal_Int32 expVal1 = kTestStr27Len;
OString expVal2( arrOUS[1] );
sal_Int32 expVal3 = 17;
sal_Int32 input = kTestStr27Len;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to the length of OStringBuffer(1)",
expVal2, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to the length of OStringBuffer(1)",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to the length of OStringBuffer(1)",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_008()
{
OStringBuffer aStrBuf( arrOUS[1] );
sal_Int32 expVal1 = 0;
sal_Int32 expVal3 = 17;
sal_Int32 input = 0;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OUStringBuffer(1)",
'\0', aStrBuf.getStr()[0]
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OUStringBuffer(1)",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OUStringBuffer(1)",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_009()
{
OStringBuffer aStrBuf( arrOUS[2] );
sal_Int32 expVal1 = 20;
sal_Int32 expVal3 = 20;
sal_Int32 input = 20;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer()",
'\0', aStrBuf.getStr()[0]
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer()",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer()",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_010()
{
OStringBuffer aStrBuf( arrOUS[2] );
sal_Int32 expVal1 = 3;
sal_Int32 expVal3 = 16;
sal_Int32 input = 3;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer()",
'\0', aStrBuf.getStr()[0]
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer()",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer()",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_011()
{
OStringBuffer aStrBuf( arrOUS[2] );
sal_Int32 expVal1 = 0;
sal_Int32 expVal3 = 16;
sal_Int32 input = 0;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer()",
'\0', aStrBuf.getStr()[0]
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer()",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer()",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_012()
{
OStringBuffer aStrBuf( arrOUS[3] );
sal_Int32 expVal1 = 20;
sal_Int32 expVal3 = 20;
sal_Int32 input = 20;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer("")",
'\0', aStrBuf.getStr()[0]
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer("")",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer("")",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_013()
{
OStringBuffer aStrBuf( arrOUS[3] );
sal_Int32 expVal1 = 5;
sal_Int32 expVal3 = 16;
sal_Int32 input = 5;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer("")",
'\0', aStrBuf.getStr()[0]
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer("")",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer("")",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_014()
{
OStringBuffer aStrBuf( arrOUS[3] );
sal_Int32 expVal1 = 0;
sal_Int32 expVal3 = 16;
sal_Int32 input = 0;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OStringBuffer("")",
'\0', aStrBuf.getStr()[0]
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OStringBuffer("")",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OStringBuffer("")",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_015()
{
OStringBuffer aStrBuf( arrOUS[4] );
sal_Int32 expVal1 = 20;
sal_Int32 expVal3 = 20;
sal_Int32 input = 20;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer(\0)",
'\0', aStrBuf.getStr()[0]
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer(\0)",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer(\0)",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_016()
{
OStringBuffer aStrBuf( arrOUS[4] );
sal_Int32 expVal1 = 5;
sal_Int32 expVal3 = 17;
sal_Int32 input = 5;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer(\0)",
'\0', aStrBuf.getStr()[0]
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer(\0)",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer(\0)",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_017()
{
OStringBuffer aStrBuf( arrOUS[4] );
sal_Int32 expVal1 = 0;
sal_Int32 expVal3 = 17;
sal_Int32 input = 0;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OStringBuffer(\0)",
'\0', aStrBuf.getStr()[0]
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OStringBuffer(\0)",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OStringBuffer(\0)",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_018()
{
OStringBuffer aStrBuf( arrOUS[5] );
sal_Int32 expVal1 = 50;
OString expVal2( kTestStr2 );
sal_Int32 expVal3 = 66;
sal_Int32 input = 50;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer(kTestStr2)",
expVal2, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer(kTestStr2)",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the capacity of OStringBuffer(kTestStr2)",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_019()
{
OStringBuffer aStrBuf( arrOUS[5] );
sal_Int32 expVal1 = 40;
OString expVal2(kTestStr2);
sal_Int32 expVal3 = 48;
sal_Int32 input = 40;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer(kTestStr2)",
expVal2, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer(kTestStr2)",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength more than the length of OStringBuffer(kTestStr2)",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_020()
{
OStringBuffer aStrBuf( arrOUS[5] );
sal_Int32 expVal1 = kTestStr2Len;
OString expVal2(kTestStr2);
sal_Int32 expVal3 = 48;
sal_Int32 input = kTestStr2Len;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to the length of OUStringBuffer(kTestStr2)",
expVal2, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to the length of OUStringBuffer(kTestStr2)",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to the length of OUStringBuffer(kTestStr2)",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_021()
{
OStringBuffer aStrBuf( arrOUS[5] );
sal_Int32 expVal1 = kTestStr7Len;
OString expVal2(kTestStr7);
sal_Int32 expVal3 = 48;
sal_Int32 input = kTestStr7Len;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OUStringBuffer(TestStr2)",
expVal2, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OUStringBuffer(TestStr2)",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength less than the length of OUStringBuffer(TestStr2)",
expVal3, aStrBuf.getCapacity()
);
}
void setLength_022()
{
OStringBuffer aStrBuf( arrOUS[5] );
sal_Int32 expVal1 = 0;
sal_Int32 expVal3 = 48;
sal_Int32 input = 0;
aStrBuf.setLength( input );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to 0",
'\0', aStrBuf.getStr()[0]
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to 0",
expVal1, aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"newLength equal to 0",
expVal3, aStrBuf.getCapacity()
);
}
CPPUNIT_TEST_SUITE( setLength );
CPPUNIT_TEST( setLength_001 );
CPPUNIT_TEST( setLength_002 );
CPPUNIT_TEST( setLength_003 );
CPPUNIT_TEST( setLength_004 );
CPPUNIT_TEST( setLength_005 );
CPPUNIT_TEST( setLength_006 );
CPPUNIT_TEST( setLength_007 );
CPPUNIT_TEST( setLength_008 );
CPPUNIT_TEST( setLength_009 );
CPPUNIT_TEST( setLength_010 );
CPPUNIT_TEST( setLength_011 );
CPPUNIT_TEST( setLength_012 );
CPPUNIT_TEST( setLength_013 );
CPPUNIT_TEST( setLength_014 );
CPPUNIT_TEST( setLength_015 );
CPPUNIT_TEST( setLength_016 );
CPPUNIT_TEST( setLength_017 );
CPPUNIT_TEST( setLength_018 );
CPPUNIT_TEST( setLength_019 );
CPPUNIT_TEST( setLength_020 );
CPPUNIT_TEST( setLength_021 );
CPPUNIT_TEST( setLength_022 );
CPPUNIT_TEST_SUITE_END();
};
class csuc :
public CppUnit::TestFixture
{
void csuc_001()
{
const char* expVal = kTestStr1;
OStringBuffer aStrBuf( kTestStr1 );
sal_Int32 cmpLen = kTestStr1Len;
// LLA: wrong access! const char* pstr = *&aStrBuf;
const char* pstr = aStrBuf.getStr();
int nEqual = strncmp(pstr, expVal, cmpLen);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"test normal string",
/* cmpstr( pstr, expVal, cmpLen ) */
0, nEqual
);
}
void csuc_002()
{
OStringBuffer aStrBuf;
// LLA: wrong access! const char* pstr = *&aStrBuf;
const char* pstr = aStrBuf.getStr();
sal_Int32 nLen = strlen(pstr);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"test empty string",
// cmpstr( pstr, &expVal, cmpLen )
static_cast<sal_Int32>(0), nLen
);
}
CPPUNIT_TEST_SUITE( csuc );
CPPUNIT_TEST( csuc_001 );
CPPUNIT_TEST( csuc_002 );
CPPUNIT_TEST_SUITE_END();
};
class getStr :
public CppUnit::TestFixture
{
void getStr_001()
{
const char* expVal = kTestStr1;
OStringBuffer aStrBuf( kTestStr1 );
sal_Int32 cmpLen = kTestStr1Len;
const char* pstr = aStrBuf.getStr();
int nEqual = strncmp(pstr, expVal, cmpLen);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"test normal string",
0, nEqual
);
}
void getStr_002()
{
OStringBuffer aStrBuf;
const char* pstr = aStrBuf.getStr();
CPPUNIT_ASSERT_MESSAGE
(
"test empty string",
pstr != nullptr
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"test empty string",
'\0', pstr[0]
);
}
CPPUNIT_TEST_SUITE( getStr );
CPPUNIT_TEST( getStr_001 );
CPPUNIT_TEST( getStr_002 );
CPPUNIT_TEST_SUITE_END();
};
class append_001 :
public CppUnit::TestFixture
{
OString arrOUS[5];
OString empty;
// silence loplugin
public:
void setUp() override
{
arrOUS[0] = OString( kTestStr7 );
arrOUS[1] = OString( );
arrOUS[2] = OString( kTestStr25 );
arrOUS[3] =
""_ostr;
arrOUS[4] = OString( kTestStr28 );
}
void append_001_001()
{
OString expVal( kTestStr1 );
OStringBuffer aStrBuf( arrOUS[0] );
OString input2( kTestStr8 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length less than 16) to the string buffer arrOUS[0]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length less than 16) to the string buffer arrOUS[0]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_002()
{
OString expVal( kTestStr2 );
OStringBuffer aStrBuf( arrOUS[0] );
OString input2( kTestStr36 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length more than 16) to the string buffer arrOUS[0]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length more than 16) to the string buffer arrOUS[0]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_003()
{
OString expVal( kTestStr37 );
OStringBuffer aStrBuf( arrOUS[0] );
OString input2( kTestStr23 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 16) to the string buffer arrOUS[0]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 16) to the string buffer arrOUS[0]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_004()
{
OString expVal( kTestStr7 );
OStringBuffer aStrBuf( arrOUS[0] );
aStrBuf.append( empty );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 0) to the string buffer arrOUS[0]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 0) to the string buffer arrOUS[0]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_005()
{
OString expVal( kTestStr7 );
OStringBuffer aStrBuf( arrOUS[1] );
OString input2( kTestStr7 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length less than 16) to the string buffer arrOUS[1]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length less than 16) to the string buffer arrOUS[1]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_006()
{
OString expVal( kTestStr2 );
OStringBuffer aStrBuf( arrOUS[1] );
OString input2( kTestStr2 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length more than 16) to the string buffer arrOUS[1]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length more than 16) to the string buffer arrOUS[1]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_007()
{
OString expVal( kTestStr1 );
OStringBuffer aStrBuf( arrOUS[1] );
OString input2( kTestStr1 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 16) to the string buffer arrOUS[1]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 16) to the string buffer arrOUS[1]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_008()
{
OString expVal;
OStringBuffer aStrBuf( arrOUS[1] );
aStrBuf.append( empty );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 0) to the string buffer arrOUS[1]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 0) to the string buffer arrOUS[1]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_009()
{
OString expVal( kTestStr7 );
OStringBuffer aStrBuf( arrOUS[2] );
OString input2( kTestStr7 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length less than 16) to the string buffer arrOUS[2]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length less than 16) to the string buffer arrOUS[2]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_010()
{
OString expVal( kTestStr2 );
OStringBuffer aStrBuf( arrOUS[2] );
OString input2( kTestStr2 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length more than 16) to the string buffer arrOUS[2]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length more than 16) to the string buffer arrOUS[2]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_011()
{
OString expVal( kTestStr1 );
OStringBuffer aStrBuf( arrOUS[2] );
OString input2( kTestStr1 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 16) to the string buffer arrOUS[2]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 16) to the string buffer arrOUS[2]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_012()
{
OString expVal;
OStringBuffer aStrBuf( arrOUS[2] );
aStrBuf.append( empty );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 0) to the string buffer arrOUS[2]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 0) to the string buffer arrOUS[2]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_013()
{
OString expVal( kTestStr7 );
OStringBuffer aStrBuf( arrOUS[3] );
OString input2( kTestStr7 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length less than 16) to the string buffer arrOUS[3]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length less than 16) to the string buffer arrOUS[3]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_014()
{
OString expVal( kTestStr2 );
OStringBuffer aStrBuf( arrOUS[3] );
OString input2( kTestStr2 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length more than 16) to the string buffer arrOUS[3]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length more than 16) to the string buffer arrOUS[3]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_015()
{
OString expVal( kTestStr1 );
OStringBuffer aStrBuf( arrOUS[3] );
OString input2( kTestStr1 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 16) to the string buffer arrOUS[3]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 16) to the string buffer arrOUS[3]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_016()
{
OString expVal;
OStringBuffer aStrBuf( arrOUS[3] );
aStrBuf.append( empty );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 0) to the string buffer arrOUS[3]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 0) to the string buffer arrOUS[3]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_017()
{
OString expVal( kTestStr29 );
OStringBuffer aStrBuf( arrOUS[4] );
OString input2( kTestStr38 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length less than 16) to the string buffer arrOUS[4]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length less than 16) to the string buffer arrOUS[4]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_018()
{
OString expVal( kTestStr39 );
OStringBuffer aStrBuf( arrOUS[4] );
OString input2( kTestStr17 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length more than 16) to the string buffer arrOUS[4]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length more than 16) to the string buffer arrOUS[4]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_019()
{
OString expVal( kTestStr40 );
OStringBuffer aStrBuf( arrOUS[4] );
OString input2( kTestStr31 );
aStrBuf.append( input2 );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 16) to the string buffer arrOUS[4]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 16) to the string buffer arrOUS[4]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_001_020()
{
OString expVal( kTestStr28 );
OStringBuffer aStrBuf( arrOUS[4] );
aStrBuf.append( empty );
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 0) to the string buffer arrOUS[4]",
expVal, OString(aStrBuf.getStr())
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"Appends the string(length equal to 0) to the string buffer arrOUS[4]",
expVal.getLength(), aStrBuf.getLength()
);
}
void append_null()
{
OStringBuffer aStrBuf(
"hello world");
aStrBuf.append(
'\0');
aStrBuf.append(
'\1');
aStrBuf.append(
'\2');
aStrBuf.append(
"hello world");
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"should be able to append nulls",
sal_Int32(2 * RTL_CONSTASCII_LENGTH(
"hello world") + 3), aStrBuf.getLength()
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"should be able to append nulls",
'\0', aStrBuf[RTL_CONSTASCII_LENGTH(
"hello world")]
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"should be able to append nulls",
1, aStrBuf[RTL_CONSTASCII_LENGTH(
"hello world")]+1
);
CPPUNIT_ASSERT_EQUAL_MESSAGE
(
"should be able to append nulls",
2, aStrBuf[RTL_CONSTASCII_LENGTH(
"hello world")]+2
);
}
CPPUNIT_TEST_SUITE( append_001 );
CPPUNIT_TEST( append_001_001 );
CPPUNIT_TEST( append_001_002 );
CPPUNIT_TEST( append_001_003 );
CPPUNIT_TEST( append_001_004 );
CPPUNIT_TEST( append_001_005 );
CPPUNIT_TEST( append_001_006 );
CPPUNIT_TEST( append_001_007 );
CPPUNIT_TEST( append_001_008 );
CPPUNIT_TEST( append_001_009 );
CPPUNIT_TEST( append_001_010 );
CPPUNIT_TEST( append_001_011 );
CPPUNIT_TEST( append_001_012 );
CPPUNIT_TEST( append_001_013 );
CPPUNIT_TEST( append_001_014 );
CPPUNIT_TEST( append_001_015 );
CPPUNIT_TEST( append_001_016 );
CPPUNIT_TEST( append_001_017 );
CPPUNIT_TEST( append_001_018 );
CPPUNIT_TEST( append_001_019 );
CPPUNIT_TEST( append_001_020 );
CPPUNIT_TEST( append_null );
CPPUNIT_TEST_SUITE_END();
};
class append_002 :
public CppUnit::TestFixture
{
OString arrOUS[5];
public:
void setUp() override
{
arrOUS[0] = OString( kTestStr7 );
arrOUS[1] = OString( );
arrOUS[2] = OString( kTestStr25 );
arrOUS[3] =
""_ostr;
arrOUS[4] = OString( kTestStr28 );
}
void append_002_001()
{
OString expVal( kTestStr1 );
OStringBuffer aStrBuf( arrOUS[0] );
const char* input = kTestStr8;
aStrBuf.append( input );
--> --------------------
--> maximum size reached
--> --------------------