[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