added a simple test for wxGetDisplayXXX() functions
[wxWidgets.git] / tests / misc / guifuncs.cpp
1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: tests/misc/misctests.cpp
3 // Purpose: test miscellaneous GUI functions
4 // Author: Vadim Zeitlin
5 // Created: 2008-09-22
6 // RCS-ID: $Id$
7 // Copyright: (c) 2008 Vadim Zeitlin
8 ///////////////////////////////////////////////////////////////////////////////
9
10 // ----------------------------------------------------------------------------
11 // headers
12 // ----------------------------------------------------------------------------
13
14 #include "testprec.h"
15
16 #ifdef __BORLANDC__
17 #pragma hdrstop
18 #endif
19
20 #include "wx/defs.h"
21
22 // ----------------------------------------------------------------------------
23 // test class
24 // ----------------------------------------------------------------------------
25
26 class MiscGUIFuncsTestCase : public CppUnit::TestCase
27 {
28 public:
29 MiscGUIFuncsTestCase() { }
30
31 private:
32 CPPUNIT_TEST_SUITE( MiscGUIFuncsTestCase );
33 CPPUNIT_TEST( DisplaySize );
34 CPPUNIT_TEST_SUITE_END();
35
36 void DisplaySize();
37
38 DECLARE_NO_COPY_CLASS(MiscGUIFuncsTestCase)
39 };
40
41 // register in the unnamed registry so that these tests are run by default
42 CPPUNIT_TEST_SUITE_REGISTRATION( MiscGUIFuncsTestCase );
43
44 // also include in it's own registry so that these tests can be run alone
45 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( MiscGUIFuncsTestCase, "MiscGUIFuncsTestCase" );
46
47 void MiscGUIFuncsTestCase::DisplaySize()
48 {
49 // test that different (almost) overloads return the same results
50 int w, h;
51 wxDisplaySize(&w, &h);
52 wxSize sz = wxGetDisplaySize();
53
54 CPPUNIT_ASSERT_EQUAL( w, sz.x );
55 CPPUNIT_ASSERT_EQUAL( h, sz.y );
56
57 // test that passing NULL works as expected, e.g. doesn't crash
58 wxDisplaySize(NULL, NULL);
59 wxDisplaySize(&w, NULL);
60 wxDisplaySize(NULL, &h);
61
62 CPPUNIT_ASSERT_EQUAL( w, sz.x );
63 CPPUNIT_ASSERT_EQUAL( h, sz.y );
64
65 // test that display PPI is something reasonable
66 sz = wxGetDisplayPPI();
67 CPPUNIT_ASSERT( sz.x < 1000 && sz.y < 1000 );
68 }
69