]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/graphics/measuring.cpp
Add a test for eol-native file existence in the release script.
[wxWidgets.git] / tests / graphics / measuring.cpp
index ae02d272391012d5ea67a67d513ca3f028edc502..bc83433dbbaf94a907785d450289442ec58c2650 100644 (file)
@@ -46,6 +46,7 @@ public:
 private:
     CPPUNIT_TEST_SUITE( MeasuringTextTestCase );
         CPPUNIT_TEST( DCGetTextExtent );
+        CPPUNIT_TEST( LeadingAndDescent );
         CPPUNIT_TEST( WindowGetTextExtent );
         CPPUNIT_TEST( GetPartialTextExtent );
 #ifdef TEST_GC
@@ -54,6 +55,7 @@ private:
     CPPUNIT_TEST_SUITE_END();
 
     void DCGetTextExtent();
+    void LeadingAndDescent();
     void WindowGetTextExtent();
 
     void GetPartialTextExtent();
@@ -127,6 +129,30 @@ void MeasuringTextTestCase::DCGetTextExtent()
 #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();