[Scummvm-cvs-logs] SF.net SVN: scummvm: [24045] scummvm/trunk/test/common/str.h
fingolfin at users.sourceforge.net
fingolfin at users.sourceforge.net
Sat Sep 30 20:58:14 CEST 2006
Revision: 24045
http://svn.sourceforge.net/scummvm/?rev=24045&view=rev
Author: fingolfin
Date: 2006-09-30 11:58:09 -0700 (Sat, 30 Sep 2006)
Log Message:
-----------
Added some String tests, to verify copy-on-write works correctly
Modified Paths:
--------------
scummvm/trunk/test/common/str.h
Modified: scummvm/trunk/test/common/str.h
===================================================================
--- scummvm/trunk/test/common/str.h 2006-09-30 18:57:36 UTC (rev 24044)
+++ scummvm/trunk/test/common/str.h 2006-09-30 18:58:09 UTC (rev 24045)
@@ -47,6 +47,50 @@
TS_ASSERT_EQUALS( str, "fooX" );
}
+ void test_refCount( void )
+ {
+ Common::String foo1("foo");
+ Common::String foo2("foo");
+ Common::String foo3(foo2);
+ foo3 += 'X';
+ TS_ASSERT_EQUALS( foo2, foo1 );
+ TS_ASSERT_EQUALS( foo2, "foo" );
+ TS_ASSERT_EQUALS( foo3, "foo""X" );
+ }
+
+ void test_refCount2( void )
+ {
+ Common::String foo1("fooasdkadklasdjklasdjlkasjdlkasjdklasjdlkjasdasd");
+ Common::String foo2("fooasdkadklasdjklasdjlkasjdlkasjdklasjdlkjasdasd");
+ Common::String foo3(foo2);
+ foo3 += 'X';
+ TS_ASSERT_EQUALS( foo2, foo1 );
+ TS_ASSERT_EQUALS( foo2, "fooasdkadklasdjklasdjlkasjdlkasjdklasjdlkjasdasd" );
+ TS_ASSERT_EQUALS( foo3, "fooasdkadklasdjklasdjlkasjdlkasjdklasjdlkjasdasd""X" );
+ }
+
+ void test_refCount3( void )
+ {
+ Common::String foo1("0123456789abcdefghijk");
+ Common::String foo2("0123456789abcdefghijk");
+ Common::String foo3(foo2);
+ foo3 += "0123456789abcdefghijk";
+ TS_ASSERT_EQUALS( foo2, foo1 );
+ TS_ASSERT_EQUALS( foo2, "0123456789abcdefghijk" );
+ TS_ASSERT_EQUALS( foo3, "0123456789abcdefghijk""0123456789abcdefghijk" );
+ }
+
+ void test_refCount4( void )
+ {
+ Common::String foo1("fooasdkadklasdjklasdjlkasjdlkasjdklasjdlkjasdasd");
+ Common::String foo2("fooasdkadklasdjklasdjlkasjdlkasjdklasjdlkjasdasd");
+ Common::String foo3(foo2);
+ foo3 += "fooasdkadklasdjklasdjlkasjdlkasjdklasjdlkjasdasd";
+ TS_ASSERT_EQUALS( foo2, foo1 );
+ TS_ASSERT_EQUALS( foo2, "fooasdkadklasdjklasdjlkasjdlkasjdklasjdlkjasdasd" );
+ TS_ASSERT_EQUALS( foo3, "fooasdkadklasdjklasdjlkasjdlkasjdklasjdlkjasdasd""fooasdkadklasdjklasdjlkasjdlkasjdklasjdlkjasdasd" );
+ }
+
void test_hasPrefix( void )
{
Common::String str("this/is/a/test, haha");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list