+ WX_ASSERT_STR_EQUAL( "", wxString('Z', 0) );
+ WX_ASSERT_STR_EQUAL( "Z", wxString('Z') );
+ WX_ASSERT_STR_EQUAL( "ZZZZ", wxString('Z', 4) );
+ WX_ASSERT_STR_EQUAL( "Hell", wxString("Hello", 4) );
+ WX_ASSERT_STR_EQUAL( "Hello", wxString("Hello", 5) );
+
+#if wxUSE_UNICODE
+ WX_ASSERT_STR_EQUAL( L"", wxString(L'Z', 0) );
+ WX_ASSERT_STR_EQUAL( L"Z", wxString(L'Z') );
+ WX_ASSERT_STR_EQUAL( L"ZZZZ", wxString(L'Z', 4) );
+ WX_ASSERT_STR_EQUAL( L"Hell", wxString(L"Hello", 4) );
+ WX_ASSERT_STR_EQUAL( L"Hello", wxString(L"Hello", 5) );
+#endif // wxUSE_UNICODE
+
+ static const char *s = "?really!";
+ const char *start = wxStrchr(s, 'r');
+ const char *end = wxStrchr(s, '!');
+ WX_ASSERT_STR_EQUAL( "really", wxString(start, end) );
+
+ // test if creating string from NULL C pointer works:
+ WX_ASSERT_STR_EQUAL( "", wxString((const char *)NULL) );
+}
+
+void StringTestCase::StaticConstructors()
+{
+ WX_ASSERT_STR_EQUAL( "", wxString::FromAscii("") );
+ WX_ASSERT_STR_EQUAL( "", wxString::FromAscii("Hello", 0) );
+ WX_ASSERT_STR_EQUAL( "Hell", wxString::FromAscii("Hello", 4) );
+ WX_ASSERT_STR_EQUAL( "Hello", wxString::FromAscii("Hello", 5) );
+ WX_ASSERT_STR_EQUAL( "Hello", wxString::FromAscii("Hello") );