1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 // MARKER(update_precomp.py): autogen include statement, do not remove 25 #include "precompiled_sal.hxx" 26 27 // LLA: 28 // this file is converted to use with testshl2 29 // original was placed in sal/test/textenc.cxx 30 31 32 // ----------------------------------------------------------------------------- 33 34 #include <string.h> 35 #include <stdio.h> 36 37 // #ifndef _OSL_DIAGNOSE_H_ 38 // #include <osl/diagnose.h> 39 // #endif 40 41 #ifndef _RTL_STRBUF_HXX 42 #include <rtl/strbuf.hxx> 43 #endif 44 45 #ifndef _RTL_WSTRBUF_HXX 46 #include <rtl/ustrbuf.hxx> 47 #endif 48 49 #include <testshl/simpleheader.hxx> 50 51 using namespace rtl; 52 53 #define TEST_ENSURE(c, m) CPPUNIT_ASSERT_MESSAGE((m), (c)) 54 55 // #if OSL_DEBUG_LEVEL > 0 56 // #define TEST_ENSHURE(c, m) OSL_ENSURE(c, m) 57 // #else 58 // #define TEST_ENSHURE(c, m) OSL_VERIFY(c) 59 // #endif 60 61 // ----------------------------------------------------------------------------- 62 namespace rtl_OStringBuffer 63 { 64 class oldtests : public CppUnit::TestFixture 65 { 66 public: 67 void test_OStringBuffer(); 68 69 CPPUNIT_TEST_SUITE( oldtests ); 70 CPPUNIT_TEST( test_OStringBuffer ); 71 CPPUNIT_TEST_SUITE_END( ); 72 }; 73 74 75 void oldtests::test_OStringBuffer() 76 { 77 // "Mein erster RTL OString\n" 78 // | | | | | 79 // Index 0 5 10 15 20 80 OString s1("Mein erster RTL OString\n"); 81 82 OStringBuffer b1(s1); 83 84 TEST_ENSURE( b1.getCapacity() == 16 + s1.getLength(), "test_OStringBuffer error 1"); 85 86 b1.insert(b1.getLength() - 1, "Buffer"); 87 s1 = "Mein erster RTL OStringBuffer\n"; 88 TEST_ENSURE( s1 == b1.getStr(), "test_OStringBuffer error 2"); 89 90 b1.insert(b1.getLength() - 1, " ist viel zu gross fuer den alten Buffer"); 91 TEST_ENSURE( b1.getCapacity() == b1.getLength(), "test_OStringBuffer error 3"); 92 93 OStringBuffer b2(30); 94 95 s1 = "false"; 96 sal_Bool b = sal_False; 97 b2.append(b); 98 TEST_ENSURE( s1 == b2.getStr(), "test_OStringBuffer error 4"); 99 100 sal_Int32 n = 123456789L; 101 s1 += " 123456789"; 102 b2.append(" "); 103 b2.append(n); 104 TEST_ENSURE( s1 == b2.getStr(), "test_OStringBuffer error 5"); 105 106 #ifndef SAL_OS2 107 #ifdef SAL_UNX 108 sal_Int64 m = -3223372036854775807LL; 109 #elif defined(SAL_OS2) 110 sal_Int64 m; 111 sal_setInt64(&m, 3965190145L, -750499787L); 112 #else 113 sal_Int64 m = -3223372036854775807; 114 #endif 115 s1 += " -3223372036854775807"; 116 b2.append(" "); 117 b2.append(m); 118 TEST_ENSURE( s1 == b2.getStr(), "test_OStringBuffer error 6"); 119 #endif 120 121 OString s2(b2.makeStringAndClear()); 122 TEST_ENSURE( s1 == s2, "test_OStringBuffer error 7"); 123 124 b2.ensureCapacity(50); 125 TEST_ENSURE( b2.getCapacity() == 50, "test_OStringBuffer error 8"); 126 127 b2.append("Hier fuege ich jetzt ein > <\n"); 128 b2.insert(26, " Hallo"); 129 s2 = "Hier fuege ich jetzt ein > Hallo <\n"; 130 TEST_ENSURE( s2 == b2.getStr(), "test_OStringBuffer error 9"); 131 132 b2.insert(26, b); 133 b2.insert(26, " "); 134 s2 = "Hier fuege ich jetzt ein > false Hallo <\n"; 135 TEST_ENSURE( s2 == b2.getStr(), "test_OStringBuffer error 10"); 136 137 b2.insert(26, n); 138 b2.insert(26, " "); 139 s2 = "Hier fuege ich jetzt ein > 123456789 false Hallo <\n"; 140 TEST_ENSURE( s2 == b2.getStr(), "test_OStringBuffer error 11"); 141 142 #ifndef SAL_OS2 143 b2.insert(26, m); 144 b2.insert(26, " "); 145 s2 = "Hier fuege ich jetzt ein > -3223372036854775807 123456789 false Hallo <\n"; 146 TEST_ENSURE( s2 == b2.getStr(), "test_OStringBuffer error 12"); 147 #endif 148 149 printf("test_OStringBuffer OK !!!\n"); 150 return; 151 } 152 } // namespace rtl_OStringBuffer 153 154 // ----------------------------------------------------------------------------- 155 156 namespace rtl_OUStringBuffer 157 { 158 class oldtests : public CppUnit::TestFixture 159 { 160 public: 161 void test_OUStringBuffer(); 162 163 CPPUNIT_TEST_SUITE( oldtests ); 164 CPPUNIT_TEST( test_OUStringBuffer ); 165 CPPUNIT_TEST_SUITE_END( ); 166 }; 167 168 169 void oldtests::test_OUStringBuffer() 170 { 171 // "Mein erster RTL OUString\n" 172 // | | | | | 173 // Index 0 5 10 15 20 174 OUString s1(OUString::createFromAscii("Mein erster RTL OUString\n")); 175 176 OUStringBuffer b1(s1); 177 178 TEST_ENSURE( b1.getCapacity() == 16 + s1.getLength(), "test_OWStringBuffer error 1"); 179 180 b1.insert(b1.getLength() - 1, OUString::createFromAscii("Buffer")); 181 s1 = OUString::createFromAscii("Mein erster RTL OUStringBuffer\n"); 182 TEST_ENSURE( s1 == b1.getStr(), "test_OWStringBuffer error 2"); 183 184 b1.insert(b1.getLength() - 1, OUString::createFromAscii(" ist viel zu gross fuer den alten Buffer")); 185 //TEST_ENSURE( b1.getCapacity() == b1.getLength(), "test_OWStringBuffer error 3"); 186 187 OUStringBuffer b2(30); 188 189 s1 = OUString::createFromAscii("false"); 190 sal_Bool b = sal_False; 191 b2.append(b); 192 TEST_ENSURE( s1 == b2.getStr(), "test_OWStringBuffer error 4"); 193 194 sal_Int32 n = 123456789L; 195 s1 += OUString::createFromAscii(" 123456789"); 196 b2.append(OUString::createFromAscii(" ")); 197 b2.append(n); 198 TEST_ENSURE( s1 == b2.getStr(), "test_OWStringBuffer error 5"); 199 200 #ifndef SAL_OS2 201 #ifdef SAL_UNX 202 sal_Int64 m = -3223372036854775807LL; 203 #elif defined(SAL_OS2) 204 sal_Int64 m; 205 sal_setInt64(&m, 3965190145L, -750499787L); 206 #else 207 sal_Int64 m = -3223372036854775807; 208 #endif 209 s1 += OUString::createFromAscii(" -3223372036854775807"); 210 b2.append(OUString::createFromAscii(" ")); 211 b2.append(m); 212 TEST_ENSURE( s1 == b2.getStr(), "test_OWStringBuffer error 6"); 213 #endif 214 215 OUString s2(b2.makeStringAndClear()); 216 TEST_ENSURE( s1 == s2, "test_OWStringBuffer error 7"); 217 218 b2.ensureCapacity(50); 219 TEST_ENSURE( b2.getCapacity() == 50, "test_OWStringBuffer error 8"); 220 221 b2.append(OUString::createFromAscii("Hier fuege ich jetzt ein > <\n")); 222 b2.insert(26, OUString::createFromAscii(" Hallo")); 223 s2 = OUString::createFromAscii("Hier fuege ich jetzt ein > Hallo <\n"); 224 TEST_ENSURE( s2 == b2.getStr(), "test_OWStringBuffer error 9"); 225 226 b2.insert(26, b); 227 b2.insert(26, OUString::createFromAscii(" ")); 228 s2 = OUString::createFromAscii("Hier fuege ich jetzt ein > false Hallo <\n"); 229 TEST_ENSURE( s2 == b2.getStr(), "test_OWStringBuffer error 10"); 230 231 b2.insert(26, n); 232 b2.insert(26, OUString::createFromAscii(" ")); 233 s2 = OUString::createFromAscii("Hier fuege ich jetzt ein > 123456789 false Hallo <\n"); 234 TEST_ENSURE( s2 == b2.getStr(), "test_OWStringBuffer error 11"); 235 236 #ifndef SAL_OS2 237 b2.insert(26, m); 238 b2.insert(26, OUString::createFromAscii(" ")); 239 s2 = OUString::createFromAscii("Hier fuege ich jetzt ein > -3223372036854775807 123456789 false Hallo <\n"); 240 TEST_ENSURE( s2 == b2.getStr(), "test_OWStringBuffer error 12"); 241 #endif 242 243 // ASCII-Schnittstelle, AB 15.10.1999 244 OUString s3(OUString::createFromAscii("Noch'n RTL OUString")); 245 OUStringBuffer b3(s3); 246 sal_Char aAsciiStr[] = " mit appendetem ASCII\n"; 247 b3.appendAscii( aAsciiStr ); 248 s3 = OUString::createFromAscii("Noch'n RTL OUString mit appendetem ASCII\n"); 249 TEST_ENSURE( b3.getStr() == s3 , "test_OWStringBuffer error 13"); 250 251 252 253 printf("test_OWStringBuffer OK !!!\n"); 254 return; 255 } 256 257 } // namespace rtl_OUStringBuffer 258 259 260 // ----------------------------------------------------------------------------- 261 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( rtl_OUStringBuffer::oldtests, "rtl_OUStringBuffer" ); 262 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( rtl_OStringBuffer::oldtests, "rtl_OStringBuffer" ); 263 264 // ----------------------------------------------------------------------------- 265 NOADDITIONAL; 266