X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1bce253a23047c6153e130d02e776d3d34b05793..830c06655b226cfe9fe55d57da8c948d1744107c:/tests/graphics/measuring.cpp diff --git a/tests/graphics/measuring.cpp b/tests/graphics/measuring.cpp index ce59b77434..ae02d27239 100644 --- a/tests/graphics/measuring.cpp +++ b/tests/graphics/measuring.cpp @@ -53,9 +53,6 @@ private: #endif // TEST_GC CPPUNIT_TEST_SUITE_END(); - template - void DoTestGetTextExtent(const T& obj); - void DCGetTextExtent(); void WindowGetTextExtent(); @@ -75,28 +72,36 @@ CPPUNIT_TEST_SUITE_REGISTRATION( MeasuringTextTestCase ); CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( MeasuringTextTestCase, "MeasuringTextTestCase" ); // ---------------------------------------------------------------------------- -// tests themselves +// helper for XXXTextExtent() methods // ---------------------------------------------------------------------------- template -void MeasuringTextTestCase::DoTestGetTextExtent(const T& obj) +struct GetTextExtentTester { - // Test that getting the height only doesn't crash. - int y; - obj.GetTextExtent("H", NULL, &y); - - CPPUNIT_ASSERT( y > 1 ); + // Constructor runs a couple of simple tests for GetTextExtent(). + GetTextExtentTester(const T& obj) + { + // Test that getting the height only doesn't crash. + int y; + obj.GetTextExtent("H", NULL, &y); + + CPPUNIT_ASSERT( y > 1 ); + + wxSize size = obj.GetTextExtent("Hello"); + CPPUNIT_ASSERT( size.x > 1 ); + CPPUNIT_ASSERT_EQUAL( y, size.y ); + } +}; - wxSize size = obj.GetTextExtent("Hello"); - CPPUNIT_ASSERT( size.x > 1 ); - CPPUNIT_ASSERT_EQUAL( y, size.y ); -} +// ---------------------------------------------------------------------------- +// tests themselves +// ---------------------------------------------------------------------------- void MeasuringTextTestCase::DCGetTextExtent() { wxClientDC dc(wxTheApp->GetTopWindow()); - DoTestGetTextExtent(dc); + GetTextExtentTester testDC(dc); int w; dc.GetMultiLineTextExtent("Good\nbye", &w, NULL); @@ -113,12 +118,12 @@ void MeasuringTextTestCase::DCGetTextExtent() // should set the default font in it implicitly but for now just work // around it. psdc.SetFont(*wxNORMAL_FONT); - DoTestGetTextExtent(psdc); + GetTextExtentTester testPS(psdc); #endif #if wxUSE_ENH_METAFILE wxEnhMetaFileDC metadc; - DoTestGetTextExtent(metadc); + GetTextExtentTester testMF(metadc); #endif } @@ -126,7 +131,7 @@ void MeasuringTextTestCase::WindowGetTextExtent() { wxWindow* const win = wxTheApp->GetTopWindow(); - DoTestGetTextExtent(*win); + GetTextExtentTester testWin(*win); } void MeasuringTextTestCase::GetPartialTextExtent()