示例#1
0
void StringTestCase::CaseChanges()
{
    wxString s1(wxT("Hello!"));
    wxString s1u(s1);
    wxString s1l(s1);
    s1u.MakeUpper();
    s1l.MakeLower();

    CPPUNIT_ASSERT_EQUAL( wxT("HELLO!"), s1u );
    CPPUNIT_ASSERT_EQUAL( wxT("hello!"), s1l );

    wxString s2u, s2l;
    s2u.MakeUpper();
    s2l.MakeLower();

    CPPUNIT_ASSERT_EQUAL( "", s2u );
    CPPUNIT_ASSERT_EQUAL( "", s2l );


    wxString s3("good bye");
    CPPUNIT_ASSERT_EQUAL( "Good bye", s3.Capitalize() );
    s3.MakeCapitalized();
    CPPUNIT_ASSERT_EQUAL( "Good bye", s3 );

    CPPUNIT_ASSERT_EQUAL( "Abc", wxString("ABC").Capitalize() );

    CPPUNIT_ASSERT_EQUAL( "", wxString().Capitalize() );
}
示例#2
0
static void GetMachineName(str::Str<char>& s)
{
    WCHAR *s1 = ReadRegStr(HKEY_LOCAL_MACHINE, L"HARDWARE\\DESCRIPTION\\System\\BIOS", L"SystemFamily");
    WCHAR *s2 = ReadRegStr(HKEY_LOCAL_MACHINE, L"HARDWARE\\DESCRIPTION\\System\\BIOS", L"SystemVersion");
    ScopedMem<char> s1u(s1 ? str::conv::ToUtf8(s1) : NULL);
    ScopedMem<char> s2u(s2 ? str::conv::ToUtf8(s2) : NULL);

    if (!s1u && !s2u)
        ; // pass
    else if (!s1u)
        s.AppendFmt("Machine: %s\r\n", s2u.Get());
    else if (!s2u || str::EqI(s1u, s2u))
        s.AppendFmt("Machine: %s\r\n", s1u.Get());
    else
        s.AppendFmt("Machine: %s %s\r\n", s1u.Get(), s2u.Get());

    free(s1);
    free(s2);
}