X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cec8d6774a331359001ee69f8433245333a7a499..04a123c642b0fc589e29cdd507faf11b85973f79:/tests/font/fonttest.cpp?ds=sidebyside diff --git a/tests/font/fonttest.cpp b/tests/font/fonttest.cpp index e597a5b1b9..bf19403207 100644 --- a/tests/font/fonttest.cpp +++ b/tests/font/fonttest.cpp @@ -26,6 +26,8 @@ #include "wx/font.h" +#include "asserthelper.h" + // ---------------------------------------------------------------------------- // test class // ---------------------------------------------------------------------------- @@ -101,9 +103,6 @@ void FontTestCase::Construct() // compile because it's easy to introduce ambiguities due to the number of // overloaded wxFont ctors. - CPPUNIT_ASSERT( wxFont(10, wxFONTFAMILY_DEFAULT).IsOk() ); - CPPUNIT_ASSERT( wxFont(10, wxFONTFAMILY_DEFAULT, - wxFONTFLAG_DEFAULT).IsOk() ); CPPUNIT_ASSERT( wxFont(10, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL).IsOk() ); @@ -204,6 +203,12 @@ void FontTestCase::GetSet() CPPUNIT_ASSERT( test.IsOk() ); CPPUNIT_ASSERT_EQUAL( true, test.GetUnderlined() ); + // test Get/SetStrikethrough() + + test.SetStrikethrough(true); + CPPUNIT_ASSERT( test.IsOk() ); + CPPUNIT_ASSERT_EQUAL( true, test.GetStrikethrough() ); + // test Get/SetWeight() @@ -245,6 +250,26 @@ void FontTestCase::NativeFontInfo() #if !defined(__WXGTK__) && !defined(__WXX11__) CPPUNIT_ASSERT( !font.SetNativeFontInfo("bloordyblop") ); #endif + + // Pango font description doesn't have 'underlined' and 'strikethrough' + // attributes, so wxNativeFontInfo implements these itself. Test if these + // are properly preserved by wxNativeFontInfo or its string description. + font.SetUnderlined(true); + font.SetStrikethrough(true); + CPPUNIT_ASSERT_EQUAL(font, wxFont(font)); + CPPUNIT_ASSERT_EQUAL(font, wxFont(*font.GetNativeFontInfo())); + CPPUNIT_ASSERT_EQUAL(font, wxFont(font.GetNativeFontInfoDesc())); + font.SetUnderlined(false); + CPPUNIT_ASSERT_EQUAL(font, wxFont(font)); + CPPUNIT_ASSERT_EQUAL(font, wxFont(*font.GetNativeFontInfo())); + CPPUNIT_ASSERT_EQUAL(font, wxFont(font.GetNativeFontInfoDesc())); + font.SetUnderlined(true); + font.SetStrikethrough(false); + CPPUNIT_ASSERT_EQUAL(font, wxFont(font)); + CPPUNIT_ASSERT_EQUAL(font, wxFont(*font.GetNativeFontInfo())); + CPPUNIT_ASSERT_EQUAL(font, wxFont(font.GetNativeFontInfoDesc())); + // note: the GetNativeFontInfoUserDesc() doesn't preserve all attributes + // according to docs, so it is not tested. } void FontTestCase::NativeFontInfoUserDesc()