]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/strings/strings.cpp
don't really enable the window when its parent is disabled, just remember to do it...
[wxWidgets.git] / tests / strings / strings.cpp
index 34ec5197df7a2d0494768252d40eaa94c3908459..fac42532758fedd7a30017cf5c47d7a1712ec131 100644 (file)
@@ -52,6 +52,7 @@ private:
         CPPUNIT_TEST( ToULongLong );
 #endif // wxLongLong_t
         CPPUNIT_TEST( ToDouble );
+        CPPUNIT_TEST( WriteBuf );
     CPPUNIT_TEST_SUITE_END();
 
     void String();
@@ -74,6 +75,7 @@ private:
     void ToULongLong();
 #endif // wxLongLong_t
     void ToDouble();
+    void WriteBuf();
 
     DECLARE_NO_COPY_CLASS(StringTestCase)
 };
@@ -353,6 +355,26 @@ void StringTestCase::Compare()
     CPPUNIT_ASSERT( s1 != neq3 );
     CPPUNIT_ASSERT( s1 != neq4 );
 
+    CPPUNIT_ASSERT( s1 == wxT("AHH") );
+    CPPUNIT_ASSERT( s1 != wxT("no") );
+    CPPUNIT_ASSERT( s1 < wxT("AZ") );
+    CPPUNIT_ASSERT( s1 <= wxT("AZ") );
+    CPPUNIT_ASSERT( s1 <= wxT("AHH") );
+    CPPUNIT_ASSERT( s1 > wxT("AA") );
+    CPPUNIT_ASSERT( s1 >= wxT("AA") );
+    CPPUNIT_ASSERT( s1 >= wxT("AHH") );
+
+    // test comparison with C strings in Unicode build (must work in ANSI as
+    // well, of course):
+    CPPUNIT_ASSERT( s1 == "AHH" );
+    CPPUNIT_ASSERT( s1 != "no" );
+    CPPUNIT_ASSERT( s1 < "AZ" );
+    CPPUNIT_ASSERT( s1 <= "AZ" );
+    CPPUNIT_ASSERT( s1 <= "AHH" );
+    CPPUNIT_ASSERT( s1 > "AA" );
+    CPPUNIT_ASSERT( s1 >= "AA" );
+    CPPUNIT_ASSERT( s1 >= "AHH" );
+
 //    wxString _s1 = wxT("A\0HH");
 //    wxString _eq = wxT("A\0HH");
 //    wxString _neq1 = wxT("H\0AH");
@@ -602,3 +624,30 @@ void StringTestCase::ToDouble()
             CPPUNIT_ASSERT_EQUAL( ld.value, d );
     }
 }
+
+void StringTestCase::WriteBuf()
+{
+    wxString s;
+    wxStrcpy(wxStringBuffer(s, 10), _T("foo"));
+
+    CPPUNIT_ASSERT_EQUAL(_T('f'), s[0u]);
+    CPPUNIT_ASSERT_EQUAL(_T('o'), s[1]);
+    CPPUNIT_ASSERT_EQUAL(_T('o'), s[2]);
+    CPPUNIT_ASSERT_EQUAL((size_t)3, s.length());
+
+
+    {
+        wxStringBufferLength buf(s, 10);
+        wxStrcpy(buf, _T("barrbaz"));
+        buf.SetLength(4);
+    }
+
+    CPPUNIT_ASSERT_EQUAL(_T('b'), s[0u]);
+    CPPUNIT_ASSERT_EQUAL(_T('a'), s[1]);
+    CPPUNIT_ASSERT_EQUAL(_T('r'), s[2]);
+    CPPUNIT_ASSERT_EQUAL(_T('r'), s[3]);
+    CPPUNIT_ASSERT_EQUAL((size_t)4, s.length());
+
+    CPPUNIT_ASSERT_EQUAL( 0, wxStrcmp(_T("barr"), s) );
+}
+