// Purpose: Tests for wxGraphicsRenderer::CreateMeasuringContext
// Author: Kevin Ollivier, Vadim Zeitlin (non wxGC parts)
// Created: 2008-02-12
-// RCS-ID: $Id$
// Copyright: (c) 2008 Kevin Ollivier <kevino@theolliviers.com>
// (c) 2012 Vadim Zeitlin <vadim@wxwidgets.org>
///////////////////////////////////////////////////////////////////////////////
private:
CPPUNIT_TEST_SUITE( MeasuringTextTestCase );
CPPUNIT_TEST( DCGetTextExtent );
+ CPPUNIT_TEST( LeadingAndDescent );
CPPUNIT_TEST( WindowGetTextExtent );
CPPUNIT_TEST( GetPartialTextExtent );
#ifdef TEST_GC
CPPUNIT_TEST_SUITE_END();
void DCGetTextExtent();
+ void LeadingAndDescent();
void WindowGetTextExtent();
void GetPartialTextExtent();
#endif
}
+void MeasuringTextTestCase::LeadingAndDescent()
+{
+ wxClientDC dc(wxTheApp->GetTopWindow());
+
+ // Retrieving just the descent should work.
+ int descent = -17;
+ dc.GetTextExtent("foo", NULL, NULL, &descent);
+ CPPUNIT_ASSERT( descent != -17 );
+
+ // Same for external leading.
+ int leading = -289;
+ dc.GetTextExtent("foo", NULL, NULL, NULL, &leading);
+ CPPUNIT_ASSERT( leading != -289 );
+
+ // And both should also work for the empty string as they retrieve the
+ // values valid for the entire font and not just this string.
+ int descent2,
+ leading2;
+ dc.GetTextExtent("", NULL, NULL, &descent2, &leading2);
+
+ CPPUNIT_ASSERT_EQUAL( descent, descent2 );
+ CPPUNIT_ASSERT_EQUAL( leading, leading2 );
+}
+
void MeasuringTextTestCase::WindowGetTextExtent()
{
wxWindow* const win = wxTheApp->GetTopWindow();