Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
ec94065f
Kaydet (Commit)
ec94065f
authored
Eyl 02, 2015
tarafından
Damjan Jovanovic
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
#i125003# migrate main/sal/qa/rtl/ostring from cppunit to Google Test.
üst
5d85807f
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
415 additions
and
730 deletions
+415
-730
makefile.mk
sal/qa/rtl/ostring/makefile.mk
+23
-33
rtl_OString2.cxx
sal/qa/rtl/ostring/rtl_OString2.cxx
+204
-277
rtl_str.cxx
sal/qa/rtl/ostring/rtl_str.cxx
+156
-353
rtl_string.cxx
sal/qa/rtl/ostring/rtl_string.cxx
+32
-67
No files found.
sal/qa/rtl/ostring/makefile.mk
Dosyayı görüntüle @
ec94065f
...
...
@@ -33,57 +33,47 @@ ENABLE_EXCEPTIONS=TRUE
.INCLUDE
:
settings.mk
.IF
"$(ENABLE_UNIT_TESTS)"
!=
"YES"
all
:
@echo
unit
tests
are
disabled.
Nothing
to
do.
.ELSE
CFLAGS
+=
$(LFS_CFLAGS)
CXXFLAGS
+=
$(LFS_CFLAGS)
CFLAGSCXX
+=
$(CPPUNIT_CFLAGS)
# BEGIN ----------------------------------------------------------------
# auto generated Target:joblist by codegen.pl
SHL
1OBJS
=
\
APP
1OBJS
=
\
$(SLO)$/
rtl_OString2.obj
SHL1TARGET
=
rtl_OString2
SHL1STDLIBS
=
$(SALLIB)
$(CPPUNITLIB)
$(TESTSHL2LIB)
SHL1IMPLIB
=
i
$(SHL1TARGET)
# SHL1DEF= $(MISC)$/$(SHL1TARGET).def
DEF1NAME
=
$(SHL1TARGET)
# DEF2EXPORTFILE= export.exp
SHL1VERSIONMAP
=
$(PRJ)$/
qa
$/
export.map
APP1TARGET
=
rtl_OString2
APP1STDLIBS
=
$(SALLIB)
$(GTESTLIB)
$(TESTSHL2LIB)
APP1RPATH
=
NONE
APP1TEST
=
enabled
# auto generated Target:joblist
# END ------------------------------------------------------------------
# BEGIN ----------------------------------------------------------------
SHL
2OBJS
=
\
APP
2OBJS
=
\
$(SLO)$/
rtl_str.obj
SHL2TARGET
=
rtl_str
SHL2STDLIBS
=
$(SALLIB)
$(CPPUNITLIB)
$(TESTSHL2LIB)
SHL2IMPLIB
=
i
$(SHL2TARGET)
DEF2NAME
=
$(SHL2TARGET)
SHL2VERSIONMAP
=
$(PRJ)$/
qa
$/
export.map
APP2TARGET
=
rtl_str
APP2STDLIBS
=
$(SALLIB)
$(GTESTLIB)
$(TESTSHL2LIB)
APP2RPATH
=
NONE
APP2TEST
=
enabled
# END ------------------------------------------------------------------
# BEGIN ----------------------------------------------------------------
SHL
3OBJS
=
\
APP
3OBJS
=
\
$(SLO)$/
rtl_string.obj
SHL3TARGET
=
rtl_string
SHL3STDLIBS
=
$(SALLIB)
$(CPPUNITLIB)
$(TESTSHL2LIB)
SHL3IMPLIB
=
i
$(SHL3TARGET)
DEF3NAME
=
$(SHL3TARGET)
SHL3VERSIONMAP
=
$(PRJ)$/
qa
$/
export.map
APP3TARGET
=
rtl_string
APP3STDLIBS
=
$(SALLIB)
$(GTESTLIB)
$(TESTSHL2LIB)
APP3RPATH
=
NONE
APP3TEST
=
enabled
# END ------------------------------------------------------------------
#------------------------------- All object files -------------------------------
# do this here, so we get right dependencies
# SLOFILES=$(SHL1OBJS)
# --- Targets ------------------------------------------------------
.INCLUDE
:
target.mk
.INCLUDE
:
_cppunit.mk
.ENDIF
# "$(ENABLE_UNIT_TESTS)" != "YES"
sal/qa/rtl/ostring/rtl_OString2.cxx
Dosyayı görüntüle @
ec94065f
...
...
@@ -26,25 +26,27 @@
#include "precompiled_sal.hxx"
// autogenerated file with codegen.pl
// There exist some more test code in sal/qa/rtl_strings/rtl_OString.cxx
#include <rtl/string.hxx>
#include
<testshl/simpleheader.hxx>
#include
"gtest/gtest.h"
#include "valueequal.hxx"
namespace
rtl_OString
{
class
valueOf
:
public
CppUnit
::
TestFixture
class
valueOf
:
public
::
testing
::
Test
{
protected
:
void
valueOf_float_test_impl
(
float
_nValue
)
{
rtl
::
OString
sValue
;
sValue
=
rtl
::
OString
::
valueOf
(
_nValue
);
t_print
(
T_VERBOSE
,
"nFloat := %.9f sValue := %s
\n
"
,
_nValue
,
sValue
.
getStr
());
printf
(
"nFloat := %.9f sValue := %s
\n
"
,
_nValue
,
sValue
.
getStr
());
float
nValueATOF
=
static_cast
<
float
>
(
atof
(
sValue
.
getStr
()
));
bool
bEqualResult
=
is_float_equal
(
_nValue
,
nValueATOF
);
CPPUNIT_ASSERT_MESSAGE
(
"Values are not equal."
,
bEqualResult
==
true
)
;
ASSERT_TRUE
(
bEqualResult
==
true
)
<<
"Values are not equal."
;
}
void
valueOf_float_test
(
float
_nValue
)
...
...
@@ -58,154 +60,128 @@ class valueOf : public CppUnit::TestFixture
public
:
// initialise your test code values here.
void
s
etUp
()
void
S
etUp
()
{
}
void
t
earDown
()
void
T
earDown
()
{
}
// insert your test code here.
void
valueOf_float_test_001
()
protected
:
void
valueOf_double_test_impl
(
double
_nValue
)
{
rtl
::
OString
sValue
;
sValue
=
rtl
::
OString
::
valueOf
(
_nValue
);
printf
(
"nDouble := %.20f sValue := %s
\n
"
,
_nValue
,
sValue
.
getStr
());
double
nValueATOF
=
atof
(
sValue
.
getStr
()
);
bool
bEqualResult
=
is_double_equal
(
_nValue
,
nValueATOF
);
ASSERT_TRUE
(
bEqualResult
==
true
)
<<
"Values are not equal."
;
}
void
valueOf_double_test
(
double
_nValue
)
{
valueOf_double_test_impl
(
_nValue
);
// test also the negative part.
double
nNegativeValue
=
-
_nValue
;
valueOf_double_test_impl
(
nNegativeValue
);
}
};
// class valueOf
TEST_F
(
valueOf
,
valueOf_float_test_001
)
{
// this is demonstration code
// CPPUNIT_ASSERT_MESSAGE("a message", 1 == 1)
;
// ASSERT_TRUE(1 == 1) << "a message"
;
float
nValue
=
3.0
f
;
valueOf_float_test
(
nValue
);
}
}
void
valueOf_float_test_002
(
)
{
TEST_F
(
valueOf
,
valueOf_float_test_002
)
{
float
nValue
=
3.5
f
;
valueOf_float_test
(
nValue
);
}
}
void
valueOf_float_test_003
(
)
{
TEST_F
(
valueOf
,
valueOf_float_test_003
)
{
float
nValue
=
3.0625
f
;
valueOf_float_test
(
nValue
);
}
}
void
valueOf_float_test_004
(
)
{
TEST_F
(
valueOf
,
valueOf_float_test_004
)
{
float
nValue
=
3.502525
f
;
valueOf_float_test
(
nValue
);
}
}
void
valueOf_float_test_005
(
)
{
TEST_F
(
valueOf
,
valueOf_float_test_005
)
{
float
nValue
=
3.141592
f
;
valueOf_float_test
(
nValue
);
}
}
void
valueOf_float_test_006
(
)
{
TEST_F
(
valueOf
,
valueOf_float_test_006
)
{
float
nValue
=
3.5025255
f
;
valueOf_float_test
(
nValue
);
}
}
void
valueOf_float_test_007
(
)
{
TEST_F
(
valueOf
,
valueOf_float_test_007
)
{
float
nValue
=
3.0039062
f
;
valueOf_float_test
(
nValue
);
}
private
:
}
void
valueOf_double_test_impl
(
double
_nValue
)
{
rtl
::
OString
sValue
;
sValue
=
rtl
::
OString
::
valueOf
(
_nValue
);
t_print
(
T_VERBOSE
,
"nDouble := %.20f sValue := %s
\n
"
,
_nValue
,
sValue
.
getStr
());
double
nValueATOF
=
atof
(
sValue
.
getStr
()
);
bool
bEqualResult
=
is_double_equal
(
_nValue
,
nValueATOF
);
CPPUNIT_ASSERT_MESSAGE
(
"Values are not equal."
,
bEqualResult
==
true
);
}
void
valueOf_double_test
(
double
_nValue
)
{
valueOf_double_test_impl
(
_nValue
);
// test also the negative part.
double
nNegativeValue
=
-
_nValue
;
valueOf_double_test_impl
(
nNegativeValue
);
}
public
:
// valueOf double
void
valueOf_double_test_001
()
{
TEST_F
(
valueOf
,
valueOf_double_test_001
)
{
double
nValue
=
3.0
;
valueOf_double_test
(
nValue
);
}
void
valueOf_double_test_002
(
)
{
}
TEST_F
(
valueOf
,
valueOf_double_test_002
)
{
double
nValue
=
3.5
;
valueOf_double_test
(
nValue
);
}
void
valueOf_double_test_003
(
)
{
}
TEST_F
(
valueOf
,
valueOf_double_test_003
)
{
double
nValue
=
3.0625
;
valueOf_double_test
(
nValue
);
}
void
valueOf_double_test_004
(
)
{
}
TEST_F
(
valueOf
,
valueOf_double_test_004
)
{
double
nValue
=
3.1415926535
;
valueOf_double_test
(
nValue
);
}
void
valueOf_double_test_005
(
)
{
}
TEST_F
(
valueOf
,
valueOf_double_test_005
)
{
double
nValue
=
3.141592653589793
;
valueOf_double_test
(
nValue
);
}
void
valueOf_double_test_006
(
)
{
}
TEST_F
(
valueOf
,
valueOf_double_test_006
)
{
double
nValue
=
3.1415926535897932
;
valueOf_double_test
(
nValue
);
}
void
valueOf_double_test_007
(
)
{
}
TEST_F
(
valueOf
,
valueOf_double_test_007
)
{
double
nValue
=
3.14159265358979323
;
valueOf_double_test
(
nValue
);
}
void
valueOf_double_test_008
(
)
{
}
TEST_F
(
valueOf
,
valueOf_double_test_008
)
{
double
nValue
=
3.141592653589793238462643
;
valueOf_double_test
(
nValue
);
}
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
valueOf
);
CPPUNIT_TEST
(
valueOf_float_test_001
);
CPPUNIT_TEST
(
valueOf_float_test_002
);
CPPUNIT_TEST
(
valueOf_float_test_003
);
CPPUNIT_TEST
(
valueOf_float_test_004
);
CPPUNIT_TEST
(
valueOf_float_test_005
);
CPPUNIT_TEST
(
valueOf_float_test_006
);
CPPUNIT_TEST
(
valueOf_float_test_007
);
CPPUNIT_TEST
(
valueOf_double_test_001
);
CPPUNIT_TEST
(
valueOf_double_test_002
);
CPPUNIT_TEST
(
valueOf_double_test_003
);
CPPUNIT_TEST
(
valueOf_double_test_004
);
CPPUNIT_TEST
(
valueOf_double_test_005
);
CPPUNIT_TEST
(
valueOf_double_test_006
);
CPPUNIT_TEST
(
valueOf_double_test_007
);
CPPUNIT_TEST
(
valueOf_double_test_008
);
CPPUNIT_TEST_SUITE_END
();
};
// class valueOf
// -----------------------------------------------------------------------------
// - toDouble (tests)
// -----------------------------------------------------------------------------
class
toDouble
:
public
CppUnit
::
TestFixture
class
toDouble
:
public
::
testing
::
Test
{
public
:
...
...
@@ -218,11 +194,11 @@ public:
// initialise your test code values here.
void
s
etUp
()
void
S
etUp
()
{
}
void
t
earDown
()
void
T
earDown
()
{
}
...
...
@@ -234,7 +210,7 @@ public:
double
nValueToDouble
=
_sValue
.
toDouble
();
bool
bEqualResult
=
is_double_equal
(
nValueToDouble
,
nValueATOF
);
CPPUNIT_ASSERT_MESSAGE
(
"Values are not equal."
,
bEqualResult
==
true
)
;
ASSERT_TRUE
(
bEqualResult
==
true
)
<<
"Values are not equal."
;
}
void
toDouble_test
(
rtl
::
OString
const
&
_sValue
)
...
...
@@ -246,136 +222,114 @@ public:
sNegativValue
+=
_sValue
;
toDouble_test_impl
(
sNegativValue
);
}
};
// class toDouble
// insert your test code here.
void
toDouble_selftest
()
{
t_print
(
"Start selftest:
\n
"
);
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.01
)
==
false
);
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.001
)
==
false
);
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.0001
)
==
false
);
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.00001
)
==
false
);
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.000001
)
==
false
);
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.0000001
)
==
false
);
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.00000001
)
==
false
);
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.000000001
)
==
false
);
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.0000000001
)
==
false
);
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.00000000001
)
==
false
);
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.000000000001
)
==
false
);
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.0000000000001
)
==
false
);
TEST_F
(
toDouble
,
toDouble_selftest
)
{
printf
(
"Start selftest:
\n
"
);
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.01
)
==
false
);
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.001
)
==
false
);
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.0001
)
==
false
);
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.00001
)
==
false
);
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.000001
)
==
false
);
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.0000001
)
==
false
);
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.00000001
)
==
false
);
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.000000001
)
==
false
);
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.0000000001
)
==
false
);
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.00000000001
)
==
false
);
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.000000000001
)
==
false
);
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.0000000000001
)
==
false
);
// we check til 14 values after comma
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.00000000000001
)
==
true
);
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.000000000000001
)
==
true
);
CPPUNIT_ASSERT
(
is_double_equal
(
1.0
,
1.0000000000000001
)
==
true
);
t_print
(
"Selftest done.
\n
"
);
}
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.00000000000001
)
==
true
);
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.000000000000001
)
==
true
);
ASSERT_TRUE
(
is_double_equal
(
1.0
,
1.0000000000000001
)
==
true
);
printf
(
"Selftest done.
\n
"
);
}
void
toDouble_test_3
(
)
{
TEST_F
(
toDouble
,
toDouble_test_3
)
{
rtl
::
OString
sValue
(
"3"
);
toDouble_test
(
sValue
);
}
void
toDouble_test_3_5
(
)
{
}
TEST_F
(
toDouble
,
toDouble_test_3_5
)
{
rtl
::
OString
sValue
(
"3.5"
);
toDouble_test
(
sValue
);
}
void
toDouble_test_3_0625
(
)
{
}
TEST_F
(
toDouble
,
toDouble_test_3_0625
)
{
rtl
::
OString
sValue
(
"3.0625"
);
toDouble_test
(
sValue
);
}
void
toDouble_test_pi
(
)
{
}
TEST_F
(
toDouble
,
toDouble_test_pi
)
{
// value from http://www.angio.net/pi/digits/50.txt
rtl
::
OString
sValue
(
"3.141592653589793238462643383279502884197169399375"
);
toDouble_test
(
sValue
);
}
}
void
toDouble_test_1
(
)
{
TEST_F
(
toDouble
,
toDouble_test_1
)
{
rtl
::
OString
sValue
(
"1"
);
toDouble_test
(
sValue
);
}
void
toDouble_test_10
(
)
{
}
TEST_F
(
toDouble
,
toDouble_test_10
)
{
rtl
::
OString
sValue
(
"10"
);
toDouble_test
(
sValue
);
}
void
toDouble_test_100
(
)
{
}
TEST_F
(
toDouble
,
toDouble_test_100
)
{
rtl
::
OString
sValue
(
"100"
);
toDouble_test
(
sValue
);
}
void
toDouble_test_1000
(
)
{
}
TEST_F
(
toDouble
,
toDouble_test_1000
)
{
rtl
::
OString
sValue
(
"1000"
);
toDouble_test
(
sValue
);
}
void
toDouble_test_10000
(
)
{
}
TEST_F
(
toDouble
,
toDouble_test_10000
)
{
rtl
::
OString
sValue
(
"10000"
);
toDouble_test
(
sValue
);
}
void
toDouble_test_1e99
(
)
{
}
TEST_F
(
toDouble
,
toDouble_test_1e99
)
{
rtl
::
OString
sValue
(
"1e99"
);
toDouble_test
(
sValue
);
}
void
toDouble_test_1e_n99
(
)
{
}
TEST_F
(
toDouble
,
toDouble_test_1e_n99
)
{
rtl
::
OString
sValue
(
"1e-99"
);
toDouble_test
(
sValue
);
}
void
toDouble_test_1e308
(
)
{
}
TEST_F
(
toDouble
,
toDouble_test_1e308
)
{
rtl
::
OString
sValue
(
"1e308"
);
toDouble_test
(
sValue
);
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
toDouble
);
CPPUNIT_TEST
(
toDouble_selftest
);
CPPUNIT_TEST
(
toDouble_test_3
);
CPPUNIT_TEST
(
toDouble_test_3_5
);
CPPUNIT_TEST
(
toDouble_test_3_0625
);
CPPUNIT_TEST
(
toDouble_test_pi
);
CPPUNIT_TEST
(
toDouble_test_1
);
CPPUNIT_TEST
(
toDouble_test_10
);
CPPUNIT_TEST
(
toDouble_test_100
);
CPPUNIT_TEST
(
toDouble_test_1000
);
CPPUNIT_TEST
(
toDouble_test_10000
);
CPPUNIT_TEST
(
toDouble_test_1e99
);
CPPUNIT_TEST
(
toDouble_test_1e_n99
);
CPPUNIT_TEST
(
toDouble_test_1e308
);
CPPUNIT_TEST_SUITE_END
();
};
// class toDouble
}
// -----------------------------------------------------------------------------
// - getToken (tests)
// -----------------------------------------------------------------------------
class
getToken
:
public
CppUnit
::
TestFixture
class
getToken
:
public
::
testing
::
Test
{
public
:
// initialise your test code values here.
void
s
etUp
()
void
S
etUp
()
{
}
void
t
earDown
()
void
T
earDown
()
{
}
};
// class getToken
// -----------------------------------------------------------------------------
void
getToken_000
(
)
{
TEST_F
(
getToken
,
getToken_000
)
{
rtl
::
OString
sTokenStr
;
sal_Int32
nIndex
=
0
;
...
...
@@ -384,88 +338,78 @@ public:
rtl
::
OString
sToken
=
sTokenStr
.
getToken
(
0
,
';'
,
nIndex
);
}
while
(
nIndex
>=
0
);
// t_print
("Index %d\n", nIndex);
// printf
("Index %d\n", nIndex);
// should not GPF
}
}
void
getToken_001
(
)
{
TEST_F
(
getToken
,
getToken_001
)
{
rtl
::
OString
sTokenStr
=
"a;b"
;
sal_Int32
nIndex
=
0
;
rtl
::
OString
sToken
=
sTokenStr
.
getToken
(
0
,
';'
,
nIndex
);
CPPUNIT_ASSERT_MESSAGE
(
"Token should be a 'a'"
,
sToken
.
equals
(
"a"
)
==
sal_True
)
;
ASSERT_TRUE
(
sToken
.
equals
(
"a"
)
==
sal_True
)
<<
"Token should be a 'a'"
;
/* rtl::OString */
sToken
=
sTokenStr
.
getToken
(
0
,
';'
,
nIndex
);
CPPUNIT_ASSERT_MESSAGE
(
"Token should be a 'b'"
,
sToken
.
equals
(
"b"
)
==
sal_True
)
;
CPPUNIT_ASSERT_MESSAGE
(
"index should be negative"
,
nIndex
==
-
1
)
;
}
ASSERT_TRUE
(
sToken
.
equals
(
"b"
)
==
sal_True
)
<<
"Token should be a 'b'"
;
ASSERT_TRUE
(
nIndex
==
-
1
)
<<
"index should be negative"
;
}
void
getToken_002
(
)
{
TEST_F
(
getToken
,
getToken_002
)
{
rtl
::
OString
sTokenStr
=
"a;b.c"
;
sal_Int32
nIndex
=
0
;
rtl
::
OString
sToken
=
sTokenStr
.
getToken
(
0
,
';'
,
nIndex
);
CPPUNIT_ASSERT_MESSAGE
(
"Token should be a 'a'"
,
sToken
.
equals
(
"a"
)
==
sal_True
)
;
ASSERT_TRUE
(
sToken
.
equals
(
"a"
)
==
sal_True
)
<<
"Token should be a 'a'"
;
/* rtl::OString */
sToken
=
sTokenStr
.
getToken
(
0
,
'.'
,
nIndex
);
CPPUNIT_ASSERT_MESSAGE
(
"Token should be a 'b'"
,
sToken
.
equals
(
"b"
)
==
sal_True
)
;
ASSERT_TRUE
(
sToken
.
equals
(
"b"
)
==
sal_True
)
<<
"Token should be a 'b'"
;
/* rtl::OString */
sToken
=
sTokenStr
.
getToken
(
0
,
'.'
,
nIndex
);
CPPUNIT_ASSERT_MESSAGE
(
"Token should be a 'c'"
,
sToken
.
equals
(
"c"
)
==
sal_True
)
;
CPPUNIT_ASSERT_MESSAGE
(
"index should be negative"
,
nIndex
==
-
1
)
;
}
ASSERT_TRUE
(
sToken
.
equals
(
"c"
)
==
sal_True
)
<<
"Token should be a 'c'"
;
ASSERT_TRUE
(
nIndex
==
-
1
)
<<
"index should be negative"
;
}
void
getToken_003
(
)
{
TEST_F
(
getToken
,
getToken_003
)
{
rtl
::
OString
sTokenStr
=
"a;;b"
;
sal_Int32
nIndex
=
0
;
rtl
::
OString
sToken
=
sTokenStr
.
getToken
(
0
,
';'
,
nIndex
);
CPPUNIT_ASSERT_MESSAGE
(
"Token should be a 'a'"
,
sToken
.
equals
(
"a"
)
==
sal_True
)
;
ASSERT_TRUE
(
sToken
.
equals
(
"a"
)
==
sal_True
)
<<
"Token should be a 'a'"
;
/* rtl::OString */
sToken
=
sTokenStr
.
getToken
(
0
,
';'
,
nIndex
);
CPPUNIT_ASSERT_MESSAGE
(
"Token should be empty"
,
sToken
.
getLength
()
==
0
)
;
ASSERT_TRUE
(
sToken
.
getLength
()
==
0
)
<<
"Token should be empty"
;
/* rtl::OString */
sToken
=
sTokenStr
.
getToken
(
0
,
';'
,
nIndex
);
CPPUNIT_ASSERT_MESSAGE
(
"Token should be a 'b'"
,
sToken
.
equals
(
"b"
)
==
sal_True
)
;
CPPUNIT_ASSERT_MESSAGE
(
"index should be negative"
,
nIndex
==
-
1
)
;
}
ASSERT_TRUE
(
sToken
.
equals
(
"b"
)
==
sal_True
)
<<
"Token should be a 'b'"
;
ASSERT_TRUE
(
nIndex
==
-
1
)
<<
"index should be negative"
;
}
void
getToken_004
(
)
{
TEST_F
(
getToken
,
getToken_004
)
{
rtl
::
OString
sTokenStr
=
"longer.then.ever."
;
sal_Int32
nIndex
=
0
;
rtl
::
OString
sToken
=
sTokenStr
.
getToken
(
0
,
'.'
,
nIndex
);
CPPUNIT_ASSERT_MESSAGE
(
"Token should be 'longer'"
,
sToken
.
equals
(
"longer"
)
==
sal_True
)
;
ASSERT_TRUE
(
sToken
.
equals
(
"longer"
)
==
sal_True
)
<<
"Token should be 'longer'"
;
/* rtl::OString */
sToken
=
sTokenStr
.
getToken
(
0
,
'.'
,
nIndex
);
CPPUNIT_ASSERT_MESSAGE
(
"Token should be 'then'"
,
sToken
.
equals
(
"then"
)
==
sal_True
)
;
ASSERT_TRUE
(
sToken
.
equals
(
"then"
)
==
sal_True
)
<<
"Token should be 'then'"
;
/* rtl::OString */
sToken
=
sTokenStr
.
getToken
(
0
,
'.'
,
nIndex
);
CPPUNIT_ASSERT_MESSAGE
(
"Token should be 'ever'"
,
sToken
.
equals
(
"ever"
)
==
sal_True
)
;
ASSERT_TRUE
(
sToken
.
equals
(
"ever"
)
==
sal_True
)
<<
"Token should be 'ever'"
;
/* rtl::OString */
sToken
=
sTokenStr
.
getToken
(
0
,
'.'
,
nIndex
);
CPPUNIT_ASSERT_MESSAGE
(
"Token should be empty"
,
sToken
.
getLength
()
==
0
);
CPPUNIT_ASSERT_MESSAGE
(
"index should be negative"
,
nIndex
==
-
1
);
}
ASSERT_TRUE
(
sToken
.
getLength
()
==
0
)
<<
"Token should be empty"
;
CPPUNIT_TEST_SUITE
(
getToken
);
CPPUNIT_TEST
(
getToken_000
);
CPPUNIT_TEST
(
getToken_001
);
CPPUNIT_TEST
(
getToken_002
);
CPPUNIT_TEST
(
getToken_003
);
CPPUNIT_TEST
(
getToken_004
);
CPPUNIT_TEST_SUITE_END
();
};
// class getToken
ASSERT_TRUE
(
nIndex
==
-
1
)
<<
"index should be negative"
;
}
// -----------------------------------------------------------------------------
// testing the method replaceAt( sal_Int32 index, sal_Int32 count,
...
...
@@ -475,16 +419,16 @@ public:
// Developer note: Mindy Liu, 2004-04-23
// stollen from sal/qa/rtl_strings/rtl_OString.cxx
class
replaceAt
:
public
CppUnit
::
TestFixture
class
replaceAt
:
public
::
testing
::
Test
{
public
:
// initialise your test code values here.
void
s
etUp
()
void
S
etUp
()
{
}
void
t
earDown
()
void
T
earDown
()
{
}
sal_Bool
check_replaceAt
(
const
rtl
::
OString
*
expVal
,
const
rtl
::
OString
*
input
,
...
...
@@ -493,72 +437,55 @@ public:
::
rtl
::
OString
aStr1
;
aStr1
=
input
->
replaceAt
(
index
,
count
,
*
newStr
);
t_print
(
"the result OString is %s#
\n
"
,
aStr1
.
getStr
()
);
printf
(
"the result OString is %s#
\n
"
,
aStr1
.
getStr
()
);
sal_Bool
bRes
=
(
expVal
->
compareTo
(
aStr1
)
==
0
);
return
bRes
;
}
// -----------------------------------------------------------------------------
};
// class replaceAt
void
replaceAt_001
(
)
{
TEST_F
(
replaceAt
,
replaceAt_001
)
{
sal_Bool
bRes
=
check_replaceAt
(
new
rtl
::
OString
(
"Java@Sun"
),
new
rtl
::
OString
(
"Sun java"
),
new
rtl
::
OString
(
"Java@Sun"
),
0
,
8
);
CPPUNIT_ASSERT_MESSAGE
(
"string differs, replace whole string"
,
bRes
==
sal_True
)
;
}
ASSERT_TRUE
(
bRes
==
sal_True
)
<<
"string differs, replace whole string"
;
}
void
replaceAt_002
(
)
{
TEST_F
(
replaceAt
,
replaceAt_002
)
{
sal_Bool
bRes
=
check_replaceAt
(
new
rtl
::
OString
(
"Sun Java desktop system"
),
new
rtl
::
OString
(
"Sun "
),
new
rtl
::
OString
(
"Java desktop system"
),
10
,
8
);
CPPUNIT_ASSERT_MESSAGE
(
"index > length of input string"
,
bRes
==
sal_True
)
;
}
ASSERT_TRUE
(
bRes
==
sal_True
)
<<
"index > length of input string"
;
}
void
replaceAt_003
(
)
{
TEST_F
(
replaceAt
,
replaceAt_003
)
{
sal_Bool
bRes
=
check_replaceAt
(
new
rtl
::
OString
(
"SuJava desktop system"
),
new
rtl
::
OString
(
"Sun "
),
new
rtl
::
OString
(
"Java desktop system"
),
2
,
64
);
CPPUNIT_ASSERT_MESSAGE
(
"larger count"
,
bRes
==
sal_True
)
;
}
ASSERT_TRUE
(
bRes
==
sal_True
)
<<
"larger count"
;
}
void
replaceAt_004
(
)
{
TEST_F
(
replaceAt
,
replaceAt_004
)
{
sal_Bool
bRes
=
check_replaceAt
(
new
rtl
::
OString
(
"Java desktop system"
),
new
rtl
::
OString
(
"Sun "
),
new
rtl
::
OString
(
"Java desktop system"
),
-
4
,
8
);
CPPUNIT_ASSERT_MESSAGE
(
"navigate index"
,
bRes
==
sal_True
)
;
}
void
replaceAt_005
(
)
{
ASSERT_TRUE
(
bRes
==
sal_True
)
<<
"navigate index"
;
}
TEST_F
(
replaceAt
,
replaceAt_005
)
{
sal_Bool
bRes
=
check_replaceAt
(
new
rtl
::
OString
(
"Sun Jesktop System"
),
new
rtl
::
OString
(
"Sun Java Desktop System"
),
new
rtl
::
OString
(
""
),
5
,
5
);
CPPUNIT_ASSERT_MESSAGE
(
"replace with null string"
,
bRes
==
sal_True
);
}
CPPUNIT_TEST_SUITE
(
replaceAt
);
CPPUNIT_TEST
(
replaceAt_001
);
CPPUNIT_TEST
(
replaceAt_002
);
CPPUNIT_TEST
(
replaceAt_003
);
CPPUNIT_TEST
(
replaceAt_004
);
CPPUNIT_TEST
(
replaceAt_005
);
CPPUNIT_TEST_SUITE_END
();
};
// class replaceAt
ASSERT_TRUE
(
bRes
==
sal_True
)
<<
"replace with null string"
;
}
// -----------------------------------------------------------------------------
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_OString
::
valueOf
,
"rtl_OString"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_OString
::
toDouble
,
"rtl_OString"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_OString
::
getToken
,
"rtl_OString"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_OString
::
replaceAt
,
"rtl_OString"
);
}
// namespace rtl_OString
// -----------------------------------------------------------------------------
// this macro creates an empty function, which will called by the RegisterAllFunctions()
// to let the user the possibility to also register some functions by hand.
NOADDITIONAL
;
int
main
(
int
argc
,
char
**
argv
)
{
::
testing
::
InitGoogleTest
(
&
argc
,
argv
);
return
RUN_ALL_TESTS
();
}
sal/qa/rtl/ostring/rtl_str.cxx
Dosyayı görüntüle @
ec94065f
...
...
@@ -24,156 +24,131 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sal.hxx"
#include <testshl/simpleheader.hxx>
#include "gtest/gtest.h"
#include <rtl/string.hxx>
namespace
rtl_str
{
class
compare
:
public
CppUnit
::
TestFixture
class
compare
:
public
::
testing
::
Test
{
public
:
};
// class compare
void
compare_000
(
)
TEST_F
(
compare
,
compare_000
)
{
rtl_str_compare
(
NULL
,
NULL
);
}
void
compare_000_1
(
)
TEST_F
(
compare
,
compare_000_1
)
{
rtl
::
OString
aStr1
=
"Line must be equal."
;
rtl_str_compare
(
aStr1
.
getStr
(),
NULL
);
}
void
compare_001
(
)
TEST_F
(
compare
,
compare_001
)
{
rtl
::
OString
aStr1
=
""
;
rtl
::
OString
aStr2
=
""
;
sal_Int32
nValue
=
rtl_str_compare
(
aStr1
.
getStr
(),
aStr2
.
getStr
());
CPPUNIT_ASSERT_MESSAGE
(
"compare failed, strings are equal."
,
nValue
==
0
)
;
ASSERT_TRUE
(
nValue
==
0
)
<<
"compare failed, strings are equal."
;
}
void
compare_002
(
)
TEST_F
(
compare
,
compare_002
)
{
rtl
::
OString
aStr1
=
"Line must be equal."
;
rtl
::
OString
aStr2
=
"Line must be equal."
;
sal_Int32
nValue
=
rtl_str_compare
(
aStr1
.
getStr
(),
aStr2
.
getStr
());
CPPUNIT_ASSERT_MESSAGE
(
"compare failed, strings are equal."
,
nValue
==
0
)
;
ASSERT_TRUE
(
nValue
==
0
)
<<
"compare failed, strings are equal."
;
}
void
compare_003
(
)
TEST_F
(
compare
,
compare_003
)
{
rtl
::
OString
aStr1
=
"Line must differ."
;
rtl
::
OString
aStr2
=
"Line foo bar, ok, differ."
;
sal_Int32
nValue
=
rtl_str_compare
(
aStr1
.
getStr
(),
aStr2
.
getStr
());
CPPUNIT_ASSERT_MESSAGE
(
"compare failed, strings differ."
,
nValue
!=
0
)
;
ASSERT_TRUE
(
nValue
!=
0
)
<<
"compare failed, strings differ."
;
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
compare
);
CPPUNIT_TEST
(
compare_000
);
CPPUNIT_TEST
(
compare_000_1
);
CPPUNIT_TEST
(
compare_001
);
CPPUNIT_TEST
(
compare_002
);
CPPUNIT_TEST
(
compare_003
);
CPPUNIT_TEST_SUITE_END
();
};
// class compare
class
compareIgnoreAsciiCase
:
public
CppUnit
::
TestFixture
class
compareIgnoreAsciiCase
:
public
::
testing
::
Test
{
public
:
};
// class compareIgnoreAsciiCase
void
compare_000
(
)
TEST_F
(
compareIgnoreAsciiCase
,
compare_000
)
{
rtl_str_compareIgnoreAsciiCase
(
NULL
,
NULL
);
}
void
compare_000_1
(
)
TEST_F
(
compareIgnoreAsciiCase
,
compare_000_1
)
{
rtl
::
OString
aStr1
=
"Line must be equal."
;
rtl_str_compareIgnoreAsciiCase
(
aStr1
.
getStr
(),
NULL
);
}
void
compare_001
(
)
TEST_F
(
compareIgnoreAsciiCase
,
compare_001
)
{
rtl
::
OString
aStr1
=
""
;
rtl
::
OString
aStr2
=
""
;
sal_Int32
nValue
=
rtl_str_compareIgnoreAsciiCase
(
aStr1
.
getStr
(),
aStr2
.
getStr
());
CPPUNIT_ASSERT_MESSAGE
(
"compare failed, strings are equal."
,
nValue
==
0
)
;
ASSERT_TRUE
(
nValue
==
0
)
<<
"compare failed, strings are equal."
;
}
void
compare_002
(
)
TEST_F
(
compareIgnoreAsciiCase
,
compare_002
)
{
rtl
::
OString
aStr1
=
"Line must be equal."
;
rtl
::
OString
aStr2
=
"Line must be equal."
;
sal_Int32
nValue
=
rtl_str_compareIgnoreAsciiCase
(
aStr1
.
getStr
(),
aStr2
.
getStr
());
CPPUNIT_ASSERT_MESSAGE
(
"compare failed, strings are equal."
,
nValue
==
0
)
;
ASSERT_TRUE
(
nValue
==
0
)
<<
"compare failed, strings are equal."
;
}
void
compare_002_1
(
)
TEST_F
(
compareIgnoreAsciiCase
,
compare_002_1
)
{
rtl
::
OString
aStr1
=
"Line must be equal."
;
rtl
::
OString
aStr2
=
"LINE MUST BE EQUAL."
;
sal_Int32
nValue
=
rtl_str_compareIgnoreAsciiCase
(
aStr1
.
getStr
(),
aStr2
.
getStr
());
CPPUNIT_ASSERT_MESSAGE
(
"compare failed, strings are equal (if case insensitve)."
,
nValue
==
0
)
;
ASSERT_TRUE
(
nValue
==
0
)
<<
"compare failed, strings are equal (if case insensitve)."
;
}
void
compare_003
(
)
TEST_F
(
compareIgnoreAsciiCase
,
compare_003
)
{
rtl
::
OString
aStr1
=
"Line must differ."
;
rtl
::
OString
aStr2
=
"Line foo bar, ok, differ."
;
sal_Int32
nValue
=
rtl_str_compareIgnoreAsciiCase
(
aStr1
.
getStr
(),
aStr2
.
getStr
());
CPPUNIT_ASSERT_MESSAGE
(
"compare failed, strings differ."
,
nValue
!=
0
)
;
ASSERT_TRUE
(
nValue
!=
0
)
<<
"compare failed, strings differ."
;
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
compareIgnoreAsciiCase
);
CPPUNIT_TEST
(
compare_000
);
CPPUNIT_TEST
(
compare_000_1
);
CPPUNIT_TEST
(
compare_001
);
CPPUNIT_TEST
(
compare_002
);
CPPUNIT_TEST
(
compare_002_1
);
CPPUNIT_TEST
(
compare_003
);
CPPUNIT_TEST_SUITE_END
();
};
// class compareIgnoreAsciiCase
// -----------------------------------------------------------------------------
class
shortenedCompareIgnoreAsciiCase_WithLength
:
public
CppUnit
::
TestFixture
class
shortenedCompareIgnoreAsciiCase_WithLength
:
public
::
testing
::
Test
{
public
:
};
// class compare
void
compare_000
(
)
TEST_F
(
shortenedCompareIgnoreAsciiCase_WithLength
,
compare_000
)
{
rtl_str_shortenedCompareIgnoreAsciiCase_WithLength
(
NULL
,
0
,
NULL
,
0
,
0
);
}
void
compare_000_1
(
)
TEST_F
(
shortenedCompareIgnoreAsciiCase_WithLength
,
compare_000_1
)
{
rtl
::
OString
aStr1
=
"Line must be equal."
;
rtl_str_shortenedCompareIgnoreAsciiCase_WithLength
(
aStr1
.
getStr
(),
aStr1
.
getLength
(),
NULL
,
0
,
1
);
}
void
compare_001
(
)
TEST_F
(
shortenedCompareIgnoreAsciiCase_WithLength
,
compare_001
)
{
rtl
::
OString
aStr1
=
""
;
rtl
::
OString
aStr2
=
""
;
sal_Int32
nValue
=
rtl_str_shortenedCompareIgnoreAsciiCase_WithLength
(
aStr1
.
getStr
(),
aStr1
.
getLength
(),
aStr2
.
getStr
(),
aStr2
.
getLength
(),
aStr1
.
getLength
());
CPPUNIT_ASSERT_MESSAGE
(
"compare failed, strings are equal."
,
nValue
==
0
)
;
ASSERT_TRUE
(
nValue
==
0
)
<<
"compare failed, strings are equal."
;
}
void
compare_002
(
)
TEST_F
(
shortenedCompareIgnoreAsciiCase_WithLength
,
compare_002
)
{
rtl
::
OString
aStr1
=
"Line must be equal."
;
rtl
::
OString
aStr2
=
"Line must be equal."
;
...
...
@@ -181,10 +156,10 @@ namespace rtl_str
sal_Int32
nValue
=
rtl_str_shortenedCompareIgnoreAsciiCase_WithLength
(
aStr1
.
getStr
(),
aStr1
.
getLength
(),
aStr2
.
getStr
(),
aStr2
.
getLength
(),
aStr1
.
getLength
());
CPPUNIT_ASSERT_MESSAGE
(
"compare failed, strings are equal."
,
nValue
==
0
)
;
ASSERT_TRUE
(
nValue
==
0
)
<<
"compare failed, strings are equal."
;
}
void
compare_002_1
(
)
TEST_F
(
shortenedCompareIgnoreAsciiCase_WithLength
,
compare_002_1
)
{
rtl
::
OString
aStr1
=
"Line must be equal."
;
rtl
::
OString
aStr2
=
"LINE MUST BE EQUAL."
;
...
...
@@ -192,10 +167,10 @@ namespace rtl_str
sal_Int32
nValue
=
rtl_str_shortenedCompareIgnoreAsciiCase_WithLength
(
aStr1
.
getStr
(),
aStr1
.
getLength
(),
aStr2
.
getStr
(),
aStr2
.
getLength
(),
aStr1
.
getLength
());
CPPUNIT_ASSERT_MESSAGE
(
"compare failed, strings are equal (if case insensitve)."
,
nValue
==
0
)
;
ASSERT_TRUE
(
nValue
==
0
)
<<
"compare failed, strings are equal (if case insensitve)."
;
}
void
compare_003
(
)
TEST_F
(
shortenedCompareIgnoreAsciiCase_WithLength
,
compare_003
)
{
rtl
::
OString
aStr1
=
"Line must differ."
;
rtl
::
OString
aStr2
=
"Line foo bar, ok, differ."
;
...
...
@@ -203,10 +178,10 @@ namespace rtl_str
sal_Int32
nValue
=
rtl_str_shortenedCompareIgnoreAsciiCase_WithLength
(
aStr1
.
getStr
(),
aStr1
.
getLength
(),
aStr2
.
getStr
(),
aStr2
.
getLength
(),
5
);
CPPUNIT_ASSERT_MESSAGE
(
"compare failed, strings are equal first 5 characters."
,
nValue
==
0
)
;
ASSERT_TRUE
(
nValue
==
0
)
<<
"compare failed, strings are equal first 5 characters."
;
}
void
compare_004
(
)
TEST_F
(
shortenedCompareIgnoreAsciiCase_WithLength
,
compare_004
)
{
rtl
::
OString
aStr1
=
"Line must differ."
;
rtl
::
OString
aStr2
=
"Line foo bar, ok, differ."
;
...
...
@@ -214,45 +189,30 @@ namespace rtl_str
sal_Int32
nValue
=
rtl_str_shortenedCompareIgnoreAsciiCase_WithLength
(
aStr1
.
getStr
(),
aStr1
.
getLength
(),
aStr2
.
getStr
(),
aStr2
.
getLength
(),
aStr1
.
getLength
());
CPPUNIT_ASSERT_MESSAGE
(
"compare failed, strings differ."
,
nValue
!=
0
)
;
ASSERT_TRUE
(
nValue
!=
0
)
<<
"compare failed, strings differ."
;
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
shortenedCompareIgnoreAsciiCase_WithLength
);
CPPUNIT_TEST
(
compare_000
);
CPPUNIT_TEST
(
compare_000_1
);
CPPUNIT_TEST
(
compare_001
);
CPPUNIT_TEST
(
compare_002
);
CPPUNIT_TEST
(
compare_002_1
);
CPPUNIT_TEST
(
compare_003
);
CPPUNIT_TEST
(
compare_004
);
CPPUNIT_TEST_SUITE_END
();
};
// class compare
// -----------------------------------------------------------------------------
class
hashCode
:
public
CppUnit
::
TestFixture
class
hashCode
:
public
::
testing
::
Test
{
public
:
};
// class compare
void
hashCode_000
(
)
TEST_F
(
hashCode
,
hashCode_000
)
{
rtl_str_hashCode
(
NULL
);
}
void
hashCode_001
(
)
TEST_F
(
hashCode
,
hashCode_001
)
{
rtl
::
OString
aStr1
=
"Line for a hashCode."
;
sal_Int32
nHashCode
=
rtl_str_hashCode
(
aStr1
.
getStr
()
);
t_print
(
"hashcode: %d
\n
"
,
nHashCode
);
// CPPUNIT_ASSERT_MESSAGE("failed.", nValue == 0)
;
printf
(
"hashcode: %d
\n
"
,
nHashCode
);
// ASSERT_TRUE(nValue == 0) << "failed."
;
}
void
hashCode_002
(
)
TEST_F
(
hashCode
,
hashCode_002
)
{
rtl
::
OString
aStr1
=
"Line for a hashCode."
;
sal_Int32
nHashCode1
=
rtl_str_hashCode
(
aStr1
.
getStr
()
);
...
...
@@ -260,10 +220,10 @@ namespace rtl_str
rtl
::
OString
aStr2
=
"Line for a hashCode."
;
sal_Int32
nHashCode2
=
rtl_str_hashCode
(
aStr2
.
getStr
()
);
CPPUNIT_ASSERT_MESSAGE
(
"hashcodes must be equal."
,
nHashCode1
==
nHashCode2
)
;
ASSERT_TRUE
(
nHashCode1
==
nHashCode2
)
<<
"hashcodes must be equal."
;
}
void
hashCode_003
(
)
TEST_F
(
hashCode
,
hashCode_003
)
{
rtl
::
OString
aStr1
=
"Line for a hashCode."
;
sal_Int32
nHashCode1
=
rtl_str_hashCode
(
aStr1
.
getStr
()
);
...
...
@@ -271,474 +231,363 @@ namespace rtl_str
rtl
::
OString
aStr2
=
"Line for an other hashcode."
;
sal_Int32
nHashCode2
=
rtl_str_hashCode
(
aStr2
.
getStr
()
);
CPPUNIT_ASSERT_MESSAGE
(
"hashcodes must differ."
,
nHashCode1
!=
nHashCode2
)
;
ASSERT_TRUE
(
nHashCode1
!=
nHashCode2
)
<<
"hashcodes must differ."
;
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
hashCode
);
CPPUNIT_TEST
(
hashCode_000
);
CPPUNIT_TEST
(
hashCode_001
);
CPPUNIT_TEST
(
hashCode_002
);
CPPUNIT_TEST
(
hashCode_003
);
CPPUNIT_TEST_SUITE_END
();
};
// class compare
// -----------------------------------------------------------------------------
class
indexOfChar
:
public
CppUnit
::
TestFixture
class
indexOfChar
:
public
::
testing
::
Test
{
public
:
};
// class compare
void
indexOfChar_000
(
)
TEST_F
(
indexOfChar
,
indexOfChar_000
)
{
rtl_str_indexOfChar
(
NULL
,
0
);
}
void
indexOfChar_001
(
)
TEST_F
(
indexOfChar
,
indexOfChar_001
)
{
rtl
::
OString
aStr1
=
"Line for a indexOfChar."
;
sal_Int32
nIndex
=
rtl_str_indexOfChar
(
aStr1
.
getStr
(),
'L'
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
0
)
;
ASSERT_TRUE
(
nIndex
==
0
)
<<
"index is wrong."
;
/* sal_Int32 */
nIndex
=
rtl_str_indexOfChar
(
aStr1
.
getStr
(),
'i'
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
1
)
;
ASSERT_TRUE
(
nIndex
==
1
)
<<
"index is wrong."
;
/* sal_Int32 */
nIndex
=
rtl_str_indexOfChar
(
aStr1
.
getStr
(),
'n'
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
2
)
;
ASSERT_TRUE
(
nIndex
==
2
)
<<
"index is wrong."
;
/* sal_Int32 */
nIndex
=
rtl_str_indexOfChar
(
aStr1
.
getStr
(),
'e'
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
3
)
;
ASSERT_TRUE
(
nIndex
==
3
)
<<
"index is wrong."
;
}
void
indexOfChar_002
(
)
TEST_F
(
indexOfChar
,
indexOfChar_002
)
{
rtl
::
OString
aStr1
=
"Line for a indexOfChar."
;
sal_Int32
nIndex
=
rtl_str_indexOfChar
(
aStr1
.
getStr
(),
'y'
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
-
1
)
;
ASSERT_TRUE
(
nIndex
==
-
1
)
<<
"index is wrong."
;
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
indexOfChar
);
CPPUNIT_TEST
(
indexOfChar_000
);
CPPUNIT_TEST
(
indexOfChar_001
);
CPPUNIT_TEST
(
indexOfChar_002
);
CPPUNIT_TEST_SUITE_END
();
};
// class compare
// -----------------------------------------------------------------------------
class
lastIndexOfChar
:
public
CppUnit
::
TestFixture
class
lastIndexOfChar
:
public
::
testing
::
Test
{
public
:
};
// class lastIndexOfChar
void
lastIndexOfChar_000
(
)
TEST_F
(
lastIndexOfChar
,
lastIndexOfChar_000
)
{
rtl_str_lastIndexOfChar
(
NULL
,
0
);
}
void
lastIndexOfChar_001
(
)
TEST_F
(
lastIndexOfChar
,
lastIndexOfChar_001
)
{
rtl
::
OString
aStr1
=
"Line for a lastIndexOfChar."
;
sal_Int32
nIndex
=
rtl_str_lastIndexOfChar
(
aStr1
.
getStr
(),
'C'
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
22
)
;
ASSERT_TRUE
(
nIndex
==
22
)
<<
"index is wrong."
;
/* sal_Int32 */
nIndex
=
rtl_str_lastIndexOfChar
(
aStr1
.
getStr
(),
'h'
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
23
)
;
ASSERT_TRUE
(
nIndex
==
23
)
<<
"index is wrong."
;
/* sal_Int32 */
nIndex
=
rtl_str_lastIndexOfChar
(
aStr1
.
getStr
(),
'a'
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
24
)
;
ASSERT_TRUE
(
nIndex
==
24
)
<<
"index is wrong."
;
/* sal_Int32 */
nIndex
=
rtl_str_lastIndexOfChar
(
aStr1
.
getStr
(),
'r'
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
25
)
;
ASSERT_TRUE
(
nIndex
==
25
)
<<
"index is wrong."
;
}
void
lastIndexOfChar_002
(
)
TEST_F
(
lastIndexOfChar
,
lastIndexOfChar_002
)
{
rtl
::
OString
aStr1
=
"Line for a lastIndexOfChar."
;
sal_Int32
nIndex
=
rtl_str_lastIndexOfChar
(
aStr1
.
getStr
(),
'y'
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
-
1
)
;
ASSERT_TRUE
(
nIndex
==
-
1
)
<<
"index is wrong."
;
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
lastIndexOfChar
);
CPPUNIT_TEST
(
lastIndexOfChar_000
);
CPPUNIT_TEST
(
lastIndexOfChar_001
);
CPPUNIT_TEST
(
lastIndexOfChar_002
);
CPPUNIT_TEST_SUITE_END
();
};
// class lastIndexOfChar
// -----------------------------------------------------------------------------
class
indexOfStr
:
public
CppUnit
::
TestFixture
class
indexOfStr
:
public
::
testing
::
Test
{
public
:
};
// class compare
void
indexOfStr_000
(
)
TEST_F
(
indexOfStr
,
indexOfStr_000
)
{
rtl_str_indexOfStr
(
NULL
,
0
);
}
void
indexOfStr_000_1
(
)
TEST_F
(
indexOfStr
,
indexOfStr_000_1
)
{
rtl
::
OString
aStr1
=
"Line for a indexOfStr."
;
rtl_str_indexOfStr
(
aStr1
.
getStr
(),
0
);
}
void
indexOfStr_001
(
)
TEST_F
(
indexOfStr
,
indexOfStr_001
)
{
rtl
::
OString
aStr1
=
"Line for a indexOfStr."
;
sal_Int32
nIndex
=
rtl_str_indexOfStr
(
aStr1
.
getStr
(),
"Line"
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
0
)
;
ASSERT_TRUE
(
nIndex
==
0
)
<<
"index is wrong."
;
/* sal_Int32 */
nIndex
=
rtl_str_indexOfStr
(
aStr1
.
getStr
(),
"for"
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
5
)
;
ASSERT_TRUE
(
nIndex
==
5
)
<<
"index is wrong."
;
/* sal_Int32 */
nIndex
=
rtl_str_indexOfStr
(
aStr1
.
getStr
(),
"a"
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
9
)
;
ASSERT_TRUE
(
nIndex
==
9
)
<<
"index is wrong."
;
/* sal_Int32 */
nIndex
=
rtl_str_indexOfStr
(
aStr1
.
getStr
(),
"a index"
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
9
)
;
ASSERT_TRUE
(
nIndex
==
9
)
<<
"index is wrong."
;
}
void
indexOfStr_002
(
)
TEST_F
(
indexOfStr
,
indexOfStr_002
)
{
rtl
::
OString
aStr1
=
"Line for a indexOfStr."
;
sal_Int32
nIndex
=
rtl_str_indexOfStr
(
aStr1
.
getStr
(),
"not exist"
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
-
1
)
;
ASSERT_TRUE
(
nIndex
==
-
1
)
<<
"index is wrong."
;
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
indexOfStr
);
CPPUNIT_TEST
(
indexOfStr_000
);
CPPUNIT_TEST
(
indexOfStr_001
);
CPPUNIT_TEST
(
indexOfStr_002
);
CPPUNIT_TEST_SUITE_END
();
};
// class compare
// -----------------------------------------------------------------------------
class
lastIndexOfStr
:
public
CppUnit
::
TestFixture
class
lastIndexOfStr
:
public
::
testing
::
Test
{
public
:
};
// class lastIndexOfStr
void
lastIndexOfStr_000
(
)
TEST_F
(
lastIndexOfStr
,
lastIndexOfStr_000
)
{
rtl_str_lastIndexOfStr
(
NULL
,
NULL
);
}
void
lastIndexOfStr_000_1
(
)
TEST_F
(
lastIndexOfStr
,
lastIndexOfStr_000_1
)
{
rtl
::
OString
aStr1
=
"Line for a lastIndexOfStr."
;
rtl_str_lastIndexOfStr
(
aStr1
.
getStr
(),
NULL
);
}
void
lastIndexOfStr_001
(
)
TEST_F
(
lastIndexOfStr
,
lastIndexOfStr_001
)
{
rtl
::
OString
aStr1
=
"Line for a lastIndexOfStr."
;
rtl
::
OString
aSearchStr
=
"Index"
;
sal_Int32
nIndex
=
rtl_str_lastIndexOfStr
(
aStr1
.
getStr
(),
aSearchStr
.
getStr
()
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
15
)
;
ASSERT_TRUE
(
nIndex
==
15
)
<<
"index is wrong."
;
/* rtl::OString */
aSearchStr
=
"Line"
;
/* sal_Int32 */
nIndex
=
rtl_str_lastIndexOfStr
(
aStr1
.
getStr
(),
aSearchStr
.
getStr
()
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
0
)
;
ASSERT_TRUE
(
nIndex
==
0
)
<<
"index is wrong."
;
/* rtl::OString */
aSearchStr
=
""
;
/* sal_Int32 */
nIndex
=
rtl_str_lastIndexOfStr
(
aStr1
.
getStr
(),
aSearchStr
.
getStr
()
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
-
1
)
;
ASSERT_TRUE
(
nIndex
==
-
1
)
<<
"index is wrong."
;
}
void
lastIndexOfStr_002
(
)
TEST_F
(
lastIndexOfStr
,
lastIndexOfStr_002
)
{
rtl
::
OString
aStr1
=
"Line for a lastIndexOfStr."
;
rtl
::
OString
aSearchStr
=
"foo"
;
sal_Int32
nIndex
=
rtl_str_lastIndexOfStr
(
aStr1
.
getStr
(),
aSearchStr
.
getStr
()
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
-
1
)
;
ASSERT_TRUE
(
nIndex
==
-
1
)
<<
"index is wrong."
;
}
void
lastIndexOfStr_003
(
)
TEST_F
(
lastIndexOfStr
,
lastIndexOfStr_003
)
{
rtl
::
OString
aStr1
=
"Line for a lastIndexOfStr."
;
rtl
::
OString
aSearchStr
=
"O"
;
sal_Int32
nIndex
=
rtl_str_lastIndexOfStr
(
aStr1
.
getStr
(),
aSearchStr
.
getStr
()
);
CPPUNIT_ASSERT_MESSAGE
(
"index is wrong."
,
nIndex
==
20
)
;
ASSERT_TRUE
(
nIndex
==
20
)
<<
"index is wrong."
;
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
lastIndexOfStr
);
CPPUNIT_TEST
(
lastIndexOfStr_000
);
CPPUNIT_TEST
(
lastIndexOfStr_001
);
CPPUNIT_TEST
(
lastIndexOfStr_002
);
CPPUNIT_TEST
(
lastIndexOfStr_003
);
CPPUNIT_TEST_SUITE_END
();
};
// class lastIndexOfStr
// -----------------------------------------------------------------------------
class
replaceChar
:
public
CppUnit
::
TestFixture
class
replaceChar
:
public
::
testing
::
Test
{
public
:
};
// class replaceChar
void
replaceChar_000
(
)
TEST_F
(
replaceChar
,
replaceChar_000
)
{
rtl_str_replaceChar
(
NULL
,
0
,
0
);
}
void
replaceChar_001
(
)
TEST_F
(
replaceChar
,
replaceChar_001
)
{
rtl
::
OString
aStr1
=
"replace char."
;
rtl
::
OString
aShouldStr1
=
"ruplacu char."
;
sal_Char
*
pStr
=
(
sal_Char
*
)
malloc
(
aStr1
.
getLength
()
+
1
);
CPPUNIT_ASSERT_MESSAGE
(
"can't get memory for test"
,
pStr
!=
NULL
)
;
ASSERT_TRUE
(
pStr
!=
NULL
)
<<
"can't get memory for test"
;
strcpy
(
pStr
,
aStr1
.
getStr
());
rtl_str_replaceChar
(
pStr
,
'e'
,
'u'
);
CPPUNIT_ASSERT_MESSAGE
(
"replace failed"
,
aShouldStr1
.
equals
(
rtl
::
OString
(
pStr
))
==
sal_True
)
;
ASSERT_TRUE
(
aShouldStr1
.
equals
(
rtl
::
OString
(
pStr
))
==
sal_True
)
<<
"replace failed"
;
free
(
pStr
);
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
replaceChar
);
CPPUNIT_TEST
(
replaceChar_000
);
CPPUNIT_TEST
(
replaceChar_001
);
CPPUNIT_TEST_SUITE_END
();
};
// class replaceChar
// -----------------------------------------------------------------------------
class
replaceChar_WithLength
:
public
CppUnit
::
TestFixture
class
replaceChar_WithLength
:
public
::
testing
::
Test
{
public
:
};
// class replaceChar
void
replaceChar_WithLength_000
(
)
TEST_F
(
replaceChar_WithLength
,
replaceChar_WithLength_000
)
{
rtl_str_replaceChar_WithLength
(
NULL
,
0
,
0
,
0
);
}
void
replaceChar_WithLength_000_1
(
)
TEST_F
(
replaceChar_WithLength
,
replaceChar_WithLength_000_1
)
{
rtl_str_replaceChar_WithLength
(
NULL
,
1
,
0
,
0
);
}
void
replaceChar_WithLength_001
(
)
TEST_F
(
replaceChar_WithLength
,
replaceChar_WithLength_001
)
{
rtl
::
OString
aStr1
=
"replace char."
;
rtl
::
OString
aShouldStr1
=
"ruplace char."
;
sal_Char
*
pStr
=
(
sal_Char
*
)
malloc
(
aStr1
.
getLength
()
+
1
);
CPPUNIT_ASSERT_MESSAGE
(
"can't get memory for test"
,
pStr
!=
NULL
)
;
ASSERT_TRUE
(
pStr
!=
NULL
)
<<
"can't get memory for test"
;
strcpy
(
pStr
,
aStr1
.
getStr
());
rtl_str_replaceChar_WithLength
(
pStr
,
6
,
'e'
,
'u'
);
CPPUNIT_ASSERT_MESSAGE
(
"replace failed"
,
aShouldStr1
.
equals
(
rtl
::
OString
(
pStr
))
==
sal_True
)
;
ASSERT_TRUE
(
aShouldStr1
.
equals
(
rtl
::
OString
(
pStr
))
==
sal_True
)
<<
"replace failed"
;
free
(
pStr
);
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
replaceChar_WithLength
);
CPPUNIT_TEST
(
replaceChar_WithLength_000
);
CPPUNIT_TEST
(
replaceChar_WithLength_000_1
);
CPPUNIT_TEST
(
replaceChar_WithLength_001
);
CPPUNIT_TEST_SUITE_END
();
};
// class replaceChar
// -----------------------------------------------------------------------------
class
toAsciiLowerCase
:
public
CppUnit
::
TestFixture
class
toAsciiLowerCase
:
public
::
testing
::
Test
{
public
:
};
// class replaceChar
void
toAsciiLowerCase_000
(
)
TEST_F
(
toAsciiLowerCase
,
toAsciiLowerCase_000
)
{
rtl_str_toAsciiLowerCase
(
NULL
);
}
void
toAsciiLowerCase_001
(
)
TEST_F
(
toAsciiLowerCase
,
toAsciiLowerCase_001
)
{
rtl
::
OString
aStr1
=
"CHANGE THIS TO ASCII LOWER CASE."
;
rtl
::
OString
aShouldStr1
=
"change this to ascii lower case."
;
sal_Char
*
pStr
=
(
sal_Char
*
)
malloc
(
aStr1
.
getLength
()
+
1
);
CPPUNIT_ASSERT_MESSAGE
(
"can't get memory for test"
,
pStr
!=
NULL
)
;
ASSERT_TRUE
(
pStr
!=
NULL
)
<<
"can't get memory for test"
;
strcpy
(
pStr
,
aStr1
.
getStr
());
rtl_str_toAsciiLowerCase
(
pStr
);
CPPUNIT_ASSERT_MESSAGE
(
"failed"
,
aShouldStr1
.
equals
(
rtl
::
OString
(
pStr
))
==
sal_True
)
;
ASSERT_TRUE
(
aShouldStr1
.
equals
(
rtl
::
OString
(
pStr
))
==
sal_True
)
<<
"failed"
;
free
(
pStr
);
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
toAsciiLowerCase
);
CPPUNIT_TEST
(
toAsciiLowerCase_000
);
CPPUNIT_TEST
(
toAsciiLowerCase_001
);
CPPUNIT_TEST_SUITE_END
();
};
// class replaceChar
class
toAsciiLowerCase_WithLength
:
public
CppUnit
::
TestFixture
class
toAsciiLowerCase_WithLength
:
public
::
testing
::
Test
{
public
:
};
// class replaceChar
void
toAsciiLowerCase_WithLength_000
(
)
TEST_F
(
toAsciiLowerCase_WithLength
,
toAsciiLowerCase_WithLength_000
)
{
rtl_str_toAsciiLowerCase_WithLength
(
NULL
,
0
);
}
void
toAsciiLowerCase_WithLength_001
(
)
TEST_F
(
toAsciiLowerCase_WithLength
,
toAsciiLowerCase_WithLength_001
)
{
rtl
::
OString
aStr1
=
"CHANGE THIS TO ASCII LOWER CASE."
;
rtl
::
OString
aShouldStr1
=
"change thiS TO ASCII LOWER CASE."
;
sal_Char
*
pStr
=
(
sal_Char
*
)
malloc
(
aStr1
.
getLength
()
+
1
);
CPPUNIT_ASSERT_MESSAGE
(
"can't get memory for test"
,
pStr
!=
NULL
)
;
ASSERT_TRUE
(
pStr
!=
NULL
)
<<
"can't get memory for test"
;
strcpy
(
pStr
,
aStr1
.
getStr
());
rtl_str_toAsciiLowerCase_WithLength
(
pStr
,
10
);
t_print
(
"Lowercase with length: '%s'
\n
"
,
pStr
);
CPPUNIT_ASSERT_MESSAGE
(
"failed"
,
aShouldStr1
.
equals
(
rtl
::
OString
(
pStr
))
==
sal_True
)
;
printf
(
"Lowercase with length: '%s'
\n
"
,
pStr
);
ASSERT_TRUE
(
aShouldStr1
.
equals
(
rtl
::
OString
(
pStr
))
==
sal_True
)
<<
"failed"
;
free
(
pStr
);
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
toAsciiLowerCase_WithLength
);
CPPUNIT_TEST
(
toAsciiLowerCase_WithLength_000
);
CPPUNIT_TEST
(
toAsciiLowerCase_WithLength_001
);
CPPUNIT_TEST_SUITE_END
();
};
// class replaceChar
// -----------------------------------------------------------------------------
class
toAsciiUpperCase
:
public
CppUnit
::
TestFixture
class
toAsciiUpperCase
:
public
::
testing
::
Test
{
public
:
};
// class replaceChar
void
toAsciiUpperCase_000
(
)
TEST_F
(
toAsciiUpperCase
,
toAsciiUpperCase_000
)
{
rtl_str_toAsciiUpperCase
(
NULL
);
}
void
toAsciiUpperCase_001
(
)
TEST_F
(
toAsciiUpperCase
,
toAsciiUpperCase_001
)
{
rtl
::
OString
aStr1
=
"change this to ascii upper case."
;
rtl
::
OString
aShouldStr1
=
"CHANGE THIS TO ASCII UPPER CASE."
;
sal_Char
*
pStr
=
(
sal_Char
*
)
malloc
(
aStr1
.
getLength
()
+
1
);
CPPUNIT_ASSERT_MESSAGE
(
"can't get memory for test"
,
pStr
!=
NULL
)
;
ASSERT_TRUE
(
pStr
!=
NULL
)
<<
"can't get memory for test"
;
strcpy
(
pStr
,
aStr1
.
getStr
());
rtl_str_toAsciiUpperCase
(
pStr
);
CPPUNIT_ASSERT_MESSAGE
(
"failed"
,
aShouldStr1
.
equals
(
rtl
::
OString
(
pStr
))
==
sal_True
)
;
ASSERT_TRUE
(
aShouldStr1
.
equals
(
rtl
::
OString
(
pStr
))
==
sal_True
)
<<
"failed"
;
free
(
pStr
);
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
toAsciiUpperCase
);
CPPUNIT_TEST
(
toAsciiUpperCase_000
);
CPPUNIT_TEST
(
toAsciiUpperCase_001
);
CPPUNIT_TEST_SUITE_END
();
};
// class replaceChar
class
toAsciiUpperCase_WithLength
:
public
CppUnit
::
TestFixture
class
toAsciiUpperCase_WithLength
:
public
::
testing
::
Test
{
public
:
};
// class replaceChar
void
toAsciiUpperCase_WithLength_000
(
)
TEST_F
(
toAsciiUpperCase_WithLength
,
toAsciiUpperCase_WithLength_000
)
{
rtl_str_toAsciiUpperCase_WithLength
(
NULL
,
0
);
}
void
toAsciiUpperCase_WithLength_001
(
)
TEST_F
(
toAsciiUpperCase_WithLength
,
toAsciiUpperCase_WithLength_001
)
{
rtl
::
OString
aStr1
=
"change this to ascii lower case."
;
rtl
::
OString
aShouldStr1
=
"CHANGE THIs to ascii lower case."
;
sal_Char
*
pStr
=
(
sal_Char
*
)
malloc
(
aStr1
.
getLength
()
+
1
);
CPPUNIT_ASSERT_MESSAGE
(
"can't get memory for test"
,
pStr
!=
NULL
)
;
ASSERT_TRUE
(
pStr
!=
NULL
)
<<
"can't get memory for test"
;
strcpy
(
pStr
,
aStr1
.
getStr
());
rtl_str_toAsciiUpperCase_WithLength
(
pStr
,
10
);
t_print
(
"Uppercase with length: '%s'
\n
"
,
aStr1
.
getStr
());
CPPUNIT_ASSERT_MESSAGE
(
"failed"
,
aShouldStr1
.
equals
(
rtl
::
OString
(
pStr
))
==
sal_True
)
;
printf
(
"Uppercase with length: '%s'
\n
"
,
aStr1
.
getStr
());
ASSERT_TRUE
(
aShouldStr1
.
equals
(
rtl
::
OString
(
pStr
))
==
sal_True
)
<<
"failed"
;
free
(
pStr
);
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
toAsciiUpperCase_WithLength
);
CPPUNIT_TEST
(
toAsciiUpperCase_WithLength_000
);
CPPUNIT_TEST
(
toAsciiUpperCase_WithLength_001
);
CPPUNIT_TEST_SUITE_END
();
};
// class replaceChar
// -----------------------------------------------------------------------------
class
trim_WithLength
:
public
CppUnit
::
TestFixture
class
trim_WithLength
:
public
::
testing
::
Test
{
public
:
void
trim_WithLength_000
()
};
TEST_F
(
trim_WithLength
,
trim_WithLength_000
)
{
rtl_str_trim_WithLength
(
NULL
,
0
);
// should not GPF
}
void
trim_WithLength_000_1
(
)
TEST_F
(
trim_WithLength
,
trim_WithLength_000_1
)
{
char
pStr
[]
=
{
" trim this"
};
rtl_str_trim_WithLength
(
pStr
,
0
);
}
void
trim_WithLength_001
(
)
TEST_F
(
trim_WithLength
,
trim_WithLength_001
)
{
char
const
*
pStr
=
" trim this"
;
sal_Char
*
pStr2
=
(
sal_Char
*
)
malloc
(
strlen
(
pStr
)
+
1
);
...
...
@@ -747,12 +596,12 @@ namespace rtl_str
strcpy
(
pStr2
,
pStr
);
rtl_str_trim_WithLength
(
pStr2
,
2
);
CPPUNIT_ASSERT_MESSAGE
(
"string should be empty"
,
strlen
(
pStr2
)
==
0
)
;
ASSERT_TRUE
(
strlen
(
pStr2
)
==
0
)
<<
"string should be empty"
;
free
(
pStr2
);
}
}
void
trim_WithLength_002
(
)
TEST_F
(
trim_WithLength
,
trim_WithLength_002
)
{
char
const
*
pStr
=
"trim this"
;
sal_Char
*
pStr2
=
(
sal_Char
*
)
malloc
(
strlen
(
pStr
)
+
1
);
...
...
@@ -761,12 +610,12 @@ namespace rtl_str
strcpy
(
pStr2
,
pStr
);
rtl_str_trim_WithLength
(
pStr2
,
5
);
CPPUNIT_ASSERT_MESSAGE
(
"string should contain 'trim'"
,
strlen
(
pStr2
)
==
4
)
;
ASSERT_TRUE
(
strlen
(
pStr2
)
==
4
)
<<
"string should contain 'trim'"
;
free
(
pStr2
);
}
}
void
trim_WithLength_003
(
)
TEST_F
(
trim_WithLength
,
trim_WithLength_003
)
{
char
const
*
pStr
=
" trim this"
;
sal_Char
*
pStr2
=
(
sal_Char
*
)
malloc
(
strlen
(
pStr
)
+
1
);
...
...
@@ -775,12 +624,12 @@ namespace rtl_str
strcpy
(
pStr2
,
pStr
);
rtl_str_trim_WithLength
(
pStr2
,
11
);
CPPUNIT_ASSERT_MESSAGE
(
"string should contain 'trim'"
,
strlen
(
pStr2
)
==
4
)
;
ASSERT_TRUE
(
strlen
(
pStr2
)
==
4
)
<<
"string should contain 'trim'"
;
free
(
pStr2
);
}
}
void
trim_WithLength_004
(
)
TEST_F
(
trim_WithLength
,
trim_WithLength_004
)
{
char
const
*
pStr
=
"
\r\n\t
\n\r
trim
\n
this"
;
sal_Char
*
pStr2
=
(
sal_Char
*
)
malloc
(
strlen
(
pStr
)
+
1
);
...
...
@@ -789,12 +638,12 @@ namespace rtl_str
strcpy
(
pStr2
,
pStr
);
rtl_str_trim_WithLength
(
pStr2
,
17
);
CPPUNIT_ASSERT_MESSAGE
(
"string should contain 'trim'"
,
strlen
(
pStr2
)
==
4
)
;
ASSERT_TRUE
(
strlen
(
pStr2
)
==
4
)
<<
"string should contain 'trim'"
;
free
(
pStr2
);
}
}
void
trim_WithLength_005
(
)
TEST_F
(
trim_WithLength
,
trim_WithLength_005
)
{
char
const
*
pStr
=
"
\r\n\t
\n\r
trim
\t
this
\n\r\t\t
"
;
sal_Char
*
pStr2
=
(
sal_Char
*
)
malloc
(
strlen
(
pStr
)
+
1
);
...
...
@@ -802,85 +651,39 @@ namespace rtl_str
{
strcpy
(
pStr2
,
pStr
);
rtl_str_trim_WithLength
(
pStr2
,
strlen
(
pStr2
)
);
CPPUNIT_ASSERT_MESSAGE
(
"string should contain 'trim'"
,
strlen
(
pStr2
)
==
11
);
ASSERT_TRUE
(
strlen
(
pStr2
)
==
11
)
<<
"string should contain 'trim'"
;
free
(
pStr2
);
}
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
trim_WithLength
);
CPPUNIT_TEST
(
trim_WithLength_000
);
CPPUNIT_TEST
(
trim_WithLength_000_1
);
CPPUNIT_TEST
(
trim_WithLength_001
);
CPPUNIT_TEST
(
trim_WithLength_002
);
CPPUNIT_TEST
(
trim_WithLength_003
);
CPPUNIT_TEST
(
trim_WithLength_004
);
CPPUNIT_TEST
(
trim_WithLength_005
);
CPPUNIT_TEST_SUITE_END
();
};
// -----------------------------------------------------------------------------
class
valueOfChar
:
public
CppUnit
::
TestFixture
class
valueOfChar
:
public
::
testing
::
Test
{
public
:
void
valueOfChar_000
()
};
TEST_F
(
valueOfChar
,
valueOfChar_000
)
{
rtl_str_valueOfChar
(
NULL
,
0
);
// should not GPF
}
void
valueOfChar_001
(
)
TEST_F
(
valueOfChar
,
valueOfChar_001
)
{
sal_Char
*
pStr
=
(
sal_Char
*
)
malloc
(
RTL_STR_MAX_VALUEOFCHAR
);
if
(
pStr
)
{
rtl_str_valueOfChar
(
pStr
,
'A'
);
CPPUNIT_ASSERT_MESSAGE
(
"string should contain 'A'"
,
pStr
[
0
]
==
'A'
)
;
ASSERT_TRUE
(
pStr
[
0
]
==
'A'
)
<<
"string should contain 'A'"
;
free
(
pStr
);
}
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
valueOfChar
);
CPPUNIT_TEST
(
valueOfChar_000
);
CPPUNIT_TEST
(
valueOfChar_001
);
CPPUNIT_TEST_SUITE_END
();
};
// -----------------------------------------------------------------------------
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
compare
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
compareIgnoreAsciiCase
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
shortenedCompareIgnoreAsciiCase_WithLength
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
hashCode
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
indexOfChar
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
lastIndexOfChar
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
indexOfStr
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
lastIndexOfStr
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
replaceChar
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
replaceChar_WithLength
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
toAsciiLowerCase
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
toAsciiLowerCase_WithLength
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
toAsciiUpperCase
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
toAsciiUpperCase_WithLength
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
trim_WithLength
,
"rtl_str"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_str
::
valueOfChar
,
"rtl_str"
);
}
// namespace rtl_str
// -----------------------------------------------------------------------------
// this macro creates an empty function, which will called by the RegisterAllFunctions()
// to let the user the possibility to also register some functions by hand.
NOADDITIONAL
;
int
main
(
int
argc
,
char
**
argv
)
{
::
testing
::
InitGoogleTest
(
&
argc
,
argv
);
return
RUN_ALL_TESTS
();
}
sal/qa/rtl/ostring/rtl_string.cxx
Dosyayı görüntüle @
ec94065f
...
...
@@ -24,56 +24,48 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sal.hxx"
#include <testshl/simpleheader.hxx>
#include "gtest/gtest.h"
#include <rtl/string.hxx>
#include <rtl/ustring.hxx>
namespace
rtl_string
{
class
getLength
:
public
CppUnit
::
TestFixture
class
getLength
:
public
::
testing
::
Test
{
public
:
};
// class getLength
void
getLength_000
(
)
TEST_F
(
getLength
,
getLength_000
)
{
rtl_string_getLength
(
NULL
);
// should not GPF
}
void
getLength_001
(
)
TEST_F
(
getLength
,
getLength_001
)
{
rtl
::
OString
aStr
(
"Test Length."
);
sal_Int32
nValue
=
rtl_string_getLength
(
aStr
.
pData
);
CPPUNIT_ASSERT_MESSAGE
(
"Length must equal getLength()"
,
aStr
.
getLength
()
==
nValue
);
CPPUNIT_ASSERT_MESSAGE
(
"Length must equal strlen()"
,
nValue
>=
0
ASSERT_TRUE
(
aStr
.
getLength
()
==
nValue
)
<<
"Length must equal getLength()"
;
ASSERT_TRUE
(
nValue
>=
0
&&
(
strlen
(
aStr
.
getStr
())
==
sal
::
static_int_cast
<
sal_uInt32
>
(
nValue
)))
;
==
sal
::
static_int_cast
<
sal_uInt32
>
(
nValue
)))
<<
"Length must equal strlen()"
;
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
getLength
);
CPPUNIT_TEST
(
getLength_000
);
CPPUNIT_TEST
(
getLength_001
);
CPPUNIT_TEST_SUITE_END
();
};
// class getLength
// -----------------------------------------------------------------------------
class
newFromString
:
public
CppUnit
::
TestFixture
class
newFromString
:
public
::
testing
::
Test
{
public
:
};
// class newFromString
// void newFromString_000(
)
// TEST_F(newFromString, newFromString_000
)
// {
// sal_Int32 nValue = rtl_string_newFromString( NULL, NULL );
// // should not GPF
// }
void
newFromString_001
(
)
TEST_F
(
newFromString
,
newFromString_001
)
{
rtl
::
OString
aStr
(
"Test Length."
);
rtl_String
*
pStr
=
NULL
;
...
...
@@ -81,42 +73,35 @@ namespace rtl_string
rtl_string_newFromString
(
&
pStr
,
aStr
.
pData
);
rtl
::
OString
aNewStr
(
pStr
);
CPPUNIT_ASSERT_MESSAGE
(
"Strings must be equal"
,
aStr
.
equals
(
aNewStr
)
==
sal_True
)
;
ASSERT_TRUE
(
aStr
.
equals
(
aNewStr
)
==
sal_True
)
<<
"Strings must be equal"
;
rtl_string_release
(
pStr
);
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
newFromString
);
// CPPUNIT_TEST(newFromString_000);
CPPUNIT_TEST
(
newFromString_001
);
CPPUNIT_TEST_SUITE_END
();
};
// class newFromString
// -----------------------------------------------------------------------------
class
convertUStringToString
:
public
CppUnit
::
TestFixture
class
convertUStringToString
:
public
::
testing
::
Test
{
public
:
};
// class convertUStringToString
// void newFromString_000(
)
// TEST_F(convertUStringToString, newFromString_000
)
// {
// sal_Int32 nValue = rtl_string_newFromString( NULL, NULL );
// // should not GPF
// }
void
convertUStringToString_001
(
)
TEST_F
(
convertUStringToString
,
convertUStringToString_001
)
{
rtl
::
OUString
suString
=
rtl
::
OUString
::
createFromAscii
(
"Hello"
);
rtl
::
OString
sString
;
sal_Bool
bRet
=
rtl_convertUStringToString
(
&
sString
.
pData
,
suString
.
getStr
(),
suString
.
getLength
(),
RTL_TEXTENCODING_ASCII_US
,
OUSTRING_TO_OSTRING_CVTFLAGS
);
CPPUNIT_ASSERT_MESSAGE
(
"Strings must be equal"
,
bRet
==
sal_True
&&
sString
.
equals
(
rtl
::
OString
(
"Hello"
))
==
sal_True
)
;
ASSERT_TRUE
(
bRet
==
sal_True
&&
sString
.
equals
(
rtl
::
OString
(
"Hello"
))
==
sal_True
)
<<
"Strings must be equal"
;
}
void
convertUStringToString_002
(
)
TEST_F
(
convertUStringToString
,
convertUStringToString_002
)
{
rtl
::
OString
sStr
(
"H
\xE4
llo"
);
rtl
::
OUString
suString
=
rtl
::
OStringToOUString
(
sStr
,
RTL_TEXTENCODING_ISO_8859_15
);
...
...
@@ -124,10 +109,10 @@ namespace rtl_string
rtl
::
OString
sString
;
sal_Bool
bRet
=
rtl_convertUStringToString
(
&
sString
.
pData
,
suString
.
getStr
(),
suString
.
getLength
(),
RTL_TEXTENCODING_ISO_8859_15
,
OUSTRING_TO_OSTRING_CVTFLAGS
);
CPPUNIT_ASSERT_MESSAGE
(
"Strings must be equal"
,
bRet
==
sal_True
&&
sString
.
equals
(
rtl
::
OString
(
"H
\xE4
llo"
))
==
sal_True
)
;
ASSERT_TRUE
(
bRet
==
sal_True
&&
sString
.
equals
(
rtl
::
OString
(
"H
\xE4
llo"
))
==
sal_True
)
<<
"Strings must be equal"
;
}
void
convertUStringToString_003
(
)
TEST_F
(
convertUStringToString
,
convertUStringToString_003
)
{
rtl
::
OString
sStr
(
"H
\xC3\xA4
llo"
);
rtl
::
OUString
suString
=
rtl
::
OStringToOUString
(
sStr
,
RTL_TEXTENCODING_UTF8
);
...
...
@@ -135,10 +120,10 @@ namespace rtl_string
rtl
::
OString
sString
;
sal_Bool
bRet
=
rtl_convertUStringToString
(
&
sString
.
pData
,
suString
.
getStr
(),
suString
.
getLength
(),
RTL_TEXTENCODING_ISO_8859_15
,
OUSTRING_TO_OSTRING_CVTFLAGS
);
CPPUNIT_ASSERT_MESSAGE
(
"Strings must be equal"
,
bRet
==
sal_True
&&
sString
.
equals
(
rtl
::
OString
(
"H
\xE4
llo"
))
==
sal_True
)
;
ASSERT_TRUE
(
bRet
==
sal_True
&&
sString
.
equals
(
rtl
::
OString
(
"H
\xE4
llo"
))
==
sal_True
)
<<
"Strings must be equal"
;
}
void
convertUStringToString_004
(
)
TEST_F
(
convertUStringToString
,
convertUStringToString_004
)
{
rtl
::
OString
sStr
(
"Tsch
\xFC\xDF
"
);
rtl
::
OUString
suString
=
rtl
::
OStringToOUString
(
sStr
,
RTL_TEXTENCODING_ISO_8859_15
);
...
...
@@ -146,34 +131,14 @@ namespace rtl_string
sal_Bool
bRet
=
rtl_convertUStringToString
(
&
sString
.
pData
,
suString
.
getStr
(),
suString
.
getLength
(),
RTL_TEXTENCODING_UTF8
,
OUSTRING_TO_OSTRING_CVTFLAGS
);
/* sal_Bool */
bRet
=
rtl_convertUStringToString
(
&
sString
.
pData
,
suString
.
getStr
(),
suString
.
getLength
(),
RTL_TEXTENCODING_ISO_8859_15
,
OUSTRING_TO_OSTRING_CVTFLAGS
);
CPPUNIT_ASSERT_MESSAGE
(
"Strings must be equal"
,
bRet
==
sal_True
&&
sString
.
equals
(
rtl
::
OString
(
"Tsch
\xFC\xDF
"
))
==
sal_True
)
;
ASSERT_TRUE
(
bRet
==
sal_True
&&
sString
.
equals
(
rtl
::
OString
(
"Tsch
\xFC\xDF
"
))
==
sal_True
)
<<
"Strings must be equal"
;
}
// Change the following lines only, if you add, remove or rename
// member functions of the current class,
// because these macros are need by auto register mechanism.
CPPUNIT_TEST_SUITE
(
convertUStringToString
);
CPPUNIT_TEST
(
convertUStringToString_001
);
CPPUNIT_TEST
(
convertUStringToString_002
);
CPPUNIT_TEST
(
convertUStringToString_003
);
CPPUNIT_TEST
(
convertUStringToString_004
);
CPPUNIT_TEST_SUITE_END
();
};
// class convertUStringToString
}
// namespace rtl_string
// -----------------------------------------------------------------------------
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_string
::
getLength
,
"rtl_string"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_string
::
newFromString
,
"rtl_string"
);
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION
(
rtl_string
::
convertUStringToString
,
"rtl_string"
);
// -----------------------------------------------------------------------------
// this macro creates an empty function, which will called by the RegisterAllFunctions()
// to let the user the possibility to also register some functions by hand.
NOADDITIONAL
;
int
main
(
int
argc
,
char
**
argv
)
{
::
testing
::
InitGoogleTest
(
&
argc
,
argv
);
return
RUN_ALL_TESTS
();
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment