X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c565abe1c595587ff98fcc6c29537883df0defa4..b5fe7ca67bf3121959a0b5a59afd00c1708f2f03:/tests/strings/strings.cpp diff --git a/tests/strings/strings.cpp b/tests/strings/strings.cpp index 3542704e49..7fcc223c9c 100644 --- a/tests/strings/strings.cpp +++ b/tests/strings/strings.cpp @@ -318,7 +318,7 @@ void StringTestCase::Replace() { \ wxString s(o,olen); \ s.replace( pos , len , replacement ); \ - CPPUNIT_ASSERT( s == wxString(r,rlen) ); \ + CPPUNIT_ASSERT_EQUAL( wxString(r,rlen), s ); \ } TEST_NULLCHARREPLACE( _T("null\0char"), 9, 5, 1, _T("d"), @@ -328,7 +328,7 @@ void StringTestCase::Replace() { \ wxString s(o,olen); \ s.Replace( olds, news, all ); \ - CPPUNIT_ASSERT( s == wxString(r,rlen) ); \ + CPPUNIT_ASSERT_EQUAL( wxString(r,rlen), s ); \ } TEST_WXREPLACE( _T("null\0char"), 9, _T("c"), _T("de"), true, @@ -338,6 +338,10 @@ void StringTestCase::Replace() _T("null\0char"), 9 ); TEST_WXREPLACE( "life", 4, "f", "", false, "lie", 3 ); + TEST_WXREPLACE( "life", 4, "f", "", true, "lie", 3 ); + TEST_WXREPLACE( "life", 4, "fe", "ve", true, "live", 4 ); + TEST_WXREPLACE( "xx", 2, "x", "yy", true, "yyyy", 4 ); + TEST_WXREPLACE( "xxx", 3, "xx", "z", true, "zx", 2 ); #undef TEST_WXREPLACE #undef TEST_NULLCHARREPLACE @@ -531,7 +535,7 @@ enum Number_Unsigned = 2, // if not specified, works for signed conversion Number_Signed = 4, // if not specified, works for unsigned Number_LongLong = 8, // only for long long tests - Number_Long = 16, // only for long tests + Number_Long = 16 // only for long tests }; static const struct ToLongData @@ -834,33 +838,33 @@ void StringTestCase::ExplicitConversion() void StringTestCase::IndexedAccess() { wxString s("bar"); - CPPUNIT_ASSERT_EQUAL( 'r', s[2] ); + CPPUNIT_ASSERT_EQUAL( 'r', (char)s[2] ); // this tests for a possible bug in UTF-8 based wxString implementation: // the 3rd character of the underlying byte string is going to change, but // the 3rd character of wxString should remain the same - s[0] = L'\u00e9'; - CPPUNIT_ASSERT_EQUAL( 'r', s[2] ); + s[0] = L'\xe9'; + CPPUNIT_ASSERT_EQUAL( 'r', (char)s[2] ); } void StringTestCase::BeforeAndAfter() { - const wxString s(L"letter=\u00e9;\u00e7a=l\u00e0"); + const wxString s(L"letter=\xe9;\xe7a=l\xe0"); CPPUNIT_ASSERT_EQUAL( "letter", s.BeforeFirst('=') ); CPPUNIT_ASSERT_EQUAL( s, s.BeforeFirst('!') ); - CPPUNIT_ASSERT_EQUAL( L"letter=\u00e9", s.BeforeFirst(';') ); + CPPUNIT_ASSERT_EQUAL( L"letter=\xe9", s.BeforeFirst(';') ); - CPPUNIT_ASSERT_EQUAL( L"letter=\u00e9;\u00e7a", s.BeforeLast('=') ); + CPPUNIT_ASSERT_EQUAL( L"letter=\xe9;\xe7a", s.BeforeLast('=') ); CPPUNIT_ASSERT_EQUAL( "", s.BeforeLast('!') ); - CPPUNIT_ASSERT_EQUAL( L"letter=\u00e9", s.BeforeLast(';') ); + CPPUNIT_ASSERT_EQUAL( L"letter=\xe9", s.BeforeLast(';') ); - CPPUNIT_ASSERT_EQUAL( L"\u00e9;\u00e7a=l\u00e0", s.AfterFirst('=') ); + CPPUNIT_ASSERT_EQUAL( L"\xe9;\xe7a=l\xe0", s.AfterFirst('=') ); CPPUNIT_ASSERT_EQUAL( "", s.AfterFirst('!') ); - CPPUNIT_ASSERT_EQUAL( L"\u00e7a=l\u00e0", s.AfterFirst(';') ); + CPPUNIT_ASSERT_EQUAL( L"\xe7a=l\xe0", s.AfterFirst(';') ); - CPPUNIT_ASSERT_EQUAL( L"l\u00e0", s.AfterLast('=') ); + CPPUNIT_ASSERT_EQUAL( L"l\xe0", s.AfterLast('=') ); CPPUNIT_ASSERT_EQUAL( s, s.AfterLast('!') ); - CPPUNIT_ASSERT_EQUAL( L"\u00e7a=l\u00e0", s.AfterLast(';') ); + CPPUNIT_ASSERT_EQUAL( L"\xe7a=l\xe0", s.AfterLast(';') ); }