-///////////////////////////////////////////////////////////////////////////////\r
-// Name: tests/controls/label.cpp\r
-// Purpose: wxControl and wxStaticText label tests\r
-// Author: Francesco Montorsi\r
-// Created: 2010-3-21\r
-// RCS-ID: $Id$\r
-// Copyright: (c) 2010 Francesco Montorsi\r
-///////////////////////////////////////////////////////////////////////////////\r
-\r
-// ----------------------------------------------------------------------------\r
-// headers\r
-// ----------------------------------------------------------------------------\r
-\r
-#include "testprec.h"\r
-\r
-#ifdef __BORLANDC__\r
- #pragma hdrstop\r
-#endif\r
-\r
-#ifndef WX_PRECOMP\r
- #include "wx/app.h"\r
-#endif // WX_PRECOMP\r
-\r
-#include "wx/control.h"\r
-#include "wx/stattext.h"\r
-#include "wx/checkbox.h"\r
-\r
-// ----------------------------------------------------------------------------\r
-// test class\r
-// ----------------------------------------------------------------------------\r
-\r
-class LabelTestCase : public CppUnit::TestCase\r
-{\r
-public:\r
- LabelTestCase() { }\r
-\r
- virtual void setUp();\r
- virtual void tearDown();\r
-\r
-private:\r
- CPPUNIT_TEST_SUITE( LabelTestCase );\r
- CPPUNIT_TEST( GetLabel );\r
- CPPUNIT_TEST( GetLabelText );\r
- CPPUNIT_TEST( Statics );\r
- CPPUNIT_TEST_SUITE_END();\r
-\r
- void GetLabel();\r
- void GetLabelText();\r
- void Statics();\r
-\r
- wxStaticText *m_st, *m_stWithMarkup;\r
-\r
- // we cannot test wxControl directly (it's abstract) so we rather test wxCheckBox\r
- wxCheckBox *m_cb;\r
-\r
- DECLARE_NO_COPY_CLASS(LabelTestCase)\r
-};\r
-\r
-// register in the unnamed registry so that these tests are run by default\r
-CPPUNIT_TEST_SUITE_REGISTRATION( LabelTestCase );\r
-\r
-// also include in it's own registry so that these tests can be run alone\r
-CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( LabelTestCase, "LabelTestCase" );\r
-\r
-// ----------------------------------------------------------------------------\r
-// test initialization\r
-// ----------------------------------------------------------------------------\r
-\r
-#define ORIGINAL_LABEL "original label"\r
-\r
-void LabelTestCase::setUp()\r
-{\r
- m_st = new wxStaticText(wxTheApp->GetTopWindow(), wxID_ANY, ORIGINAL_LABEL);\r
- m_stWithMarkup = new wxStaticText(wxTheApp->GetTopWindow(), wxID_ANY, ORIGINAL_LABEL,\r
- wxDefaultPosition, wxDefaultSize, wxST_MARKUP);\r
-\r
- m_cb = new wxCheckBox(wxTheApp->GetTopWindow(), wxID_ANY, ORIGINAL_LABEL);\r
-\r
- CPPUNIT_ASSERT_EQUAL( ORIGINAL_LABEL, m_st->GetLabel() );\r
- CPPUNIT_ASSERT_EQUAL( ORIGINAL_LABEL, m_stWithMarkup->GetLabel() );\r
- CPPUNIT_ASSERT_EQUAL( ORIGINAL_LABEL, m_cb->GetLabel() );\r
-}\r
-\r
-void LabelTestCase::tearDown()\r
-{\r
- wxDELETE(m_st);\r
- wxDELETE(m_stWithMarkup);\r
- wxDELETE(m_cb);\r
-}\r
-\r
-// ----------------------------------------------------------------------------\r
-// the tests themselves\r
-// ----------------------------------------------------------------------------\r
-\r
-#define SET_LABEL(str) \\r
- m_st->SetLabel(str); \\r
- m_stWithMarkup->SetLabel(str); \\r
- m_cb->SetLabel(str);\r
-\r
-#define SET_LABEL_TEXT(str) \\r
- m_st->SetLabelText(str); \\r
- m_stWithMarkup->SetLabelText(str); \\r
- m_cb->SetLabelText(str);\r
-\r
-void LabelTestCase::GetLabel()\r
-{\r
- const wxString testLabelArray[] = {\r
- "label without mnemonics and markup",\r
- "label with &mnemonic",\r
- "label with <span foreground='blue'>some</span> <b>markup</b>",\r
- "label with <span foreground='blue'>some</span> <b>markup</b> and &mnemonic",\r
- };\r
-\r
- // test calls to SetLabel() and then to GetLabel()\r
-\r
- for ( unsigned int s = 0; s < WXSIZEOF(testLabelArray); s++ )\r
- {\r
- SET_LABEL(testLabelArray[s]);\r
-\r
- // GetLabel() should always return the string passed to SetLabel()\r
- CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_st->GetLabel() );\r
- CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_stWithMarkup->GetLabel() );\r
- CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_cb->GetLabel() );\r
- }\r
-\r
-\r
- // test calls to SetLabelText() and then to GetLabel()\r
-\r
- const wxString& testLabel = "label without mnemonics and markup";\r
- SET_LABEL_TEXT(testLabel);\r
- CPPUNIT_ASSERT_EQUAL( testLabel, m_st->GetLabel() );\r
- CPPUNIT_ASSERT_EQUAL( testLabel, m_stWithMarkup->GetLabel() );\r
- CPPUNIT_ASSERT_EQUAL( testLabel, m_cb->GetLabel() );\r
-\r
- const wxString& testLabel2 = "label with &mnemonic";\r
- const wxString& testLabelText2 = "label with &&mnemonic";\r
- SET_LABEL_TEXT(testLabel2);\r
- CPPUNIT_ASSERT_EQUAL( testLabelText2, m_st->GetLabel() );\r
- CPPUNIT_ASSERT_EQUAL( "label with &mnemonic", m_stWithMarkup->GetLabel() );\r
- CPPUNIT_ASSERT_EQUAL( testLabelText2, m_cb->GetLabel() );\r
-\r
- const wxString& testLabel3 = "label with <span foreground='blue'>some</span> <b>markup</b>";\r
- SET_LABEL_TEXT(testLabel3);\r
- CPPUNIT_ASSERT_EQUAL( testLabel3, m_st->GetLabel() );\r
- CPPUNIT_ASSERT_EQUAL( "label with <span foreground='blue'>some</span> <b>markup</b>", m_stWithMarkup->GetLabel() );\r
- CPPUNIT_ASSERT_EQUAL( testLabel3, m_cb->GetLabel() );\r
-\r
- const wxString& testLabel4 = "label with <span foreground='blue'>some</span> <b>markup</b> and &mnemonic";\r
- const wxString& testLabelText4 = "label with <span foreground='blue'>some</span> <b>markup</b> and &&mnemonic";\r
- SET_LABEL_TEXT(testLabel4);\r
- CPPUNIT_ASSERT_EQUAL( testLabelText4, m_st->GetLabel() );\r
- CPPUNIT_ASSERT_EQUAL( "label with <span foreground='blue'>some</span> <b>markup</b> and &mnemonic", m_stWithMarkup->GetLabel() );\r
- CPPUNIT_ASSERT_EQUAL( testLabelText4, m_cb->GetLabel() );\r
-}\r
-\r
-void LabelTestCase::GetLabelText()\r
-{\r
- // test calls to SetLabel() and then to GetLabelText()\r
-\r
- const wxString& testLabel = "label without mnemonics and markup";\r
- SET_LABEL(testLabel);\r
- CPPUNIT_ASSERT_EQUAL( testLabel, m_st->GetLabelText() );\r
- CPPUNIT_ASSERT_EQUAL( testLabel, m_stWithMarkup->GetLabelText() );\r
- CPPUNIT_ASSERT_EQUAL( testLabel, m_cb->GetLabelText() );\r
-\r
- const wxString& testLabel2 = "label with &mnemonic";\r
- const wxString& testLabelText2 = "label with mnemonic";\r
- SET_LABEL(testLabel2);\r
- CPPUNIT_ASSERT_EQUAL( testLabelText2, m_st->GetLabelText() );\r
- CPPUNIT_ASSERT_EQUAL( testLabelText2, m_stWithMarkup->GetLabelText() );\r
- CPPUNIT_ASSERT_EQUAL( testLabelText2, m_cb->GetLabelText() );\r
-\r
- const wxString& testLabel3 = "label with <span foreground='blue'>some</span> <b>markup</b>";\r
- SET_LABEL(testLabel3);\r
- CPPUNIT_ASSERT_EQUAL( testLabel3, m_st->GetLabelText() );\r
- CPPUNIT_ASSERT_EQUAL( "label with some markup", m_stWithMarkup->GetLabelText() );\r
- CPPUNIT_ASSERT_EQUAL( testLabel3, m_cb->GetLabelText() );\r
-\r
- const wxString& testLabel4 = "label with <span foreground='blue'>some</span> <b>markup</b> and &mnemonic";\r
- const wxString& testLabelText4 = "label with <span foreground='blue'>some</span> <b>markup</b> and mnemonic";\r
- SET_LABEL(testLabel4);\r
- CPPUNIT_ASSERT_EQUAL( testLabelText4, m_st->GetLabelText() );\r
- CPPUNIT_ASSERT_EQUAL( "label with some markup and mnemonic", m_stWithMarkup->GetLabelText() );\r
- CPPUNIT_ASSERT_EQUAL( testLabelText4, m_cb->GetLabelText() );\r
-\r
-\r
- const wxString testLabelArray[] = {\r
- "label without mnemonics and markup",\r
- "label with &mnemonic",\r
- "label with <span foreground='blue'>some</span> <b>markup</b>",\r
- "label with <span foreground='blue'>some</span> <b>markup</b> and &mnemonic",\r
- };\r
-\r
- // test calls to SetLabelText() and then to GetLabelText()\r
-\r
- for ( unsigned int s = 0; s < WXSIZEOF(testLabelArray); s++ )\r
- {\r
- SET_LABEL_TEXT(testLabelArray[s]);\r
-\r
- // GetLabelText() should always return the string passed to SetLabelText()\r
- CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_st->GetLabelText() );\r
- CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_stWithMarkup->GetLabelText() );\r
- CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_cb->GetLabelText() );\r
- }\r
-}\r
-\r
-void LabelTestCase::Statics()\r
-{\r
- CPPUNIT_ASSERT_EQUAL( "mnemonic", wxControl::RemoveMnemonics("&mnemonic") );\r
- CPPUNIT_ASSERT_EQUAL( "&mnemonic", wxControl::RemoveMnemonics("&&mnemonic") );\r
- CPPUNIT_ASSERT_EQUAL( "&mnemonic", wxControl::RemoveMnemonics("&&&mnemonic") );\r
- CPPUNIT_ASSERT_EQUAL( "", wxStaticText::RemoveMarkup("<b></b>") );\r
-}\r
+///////////////////////////////////////////////////////////////////////////////
+// Name: tests/controls/label.cpp
+// Purpose: wxControl and wxStaticText label tests
+// Author: Francesco Montorsi
+// Created: 2010-3-21
+// RCS-ID: $Id$
+// Copyright: (c) 2010 Francesco Montorsi
+///////////////////////////////////////////////////////////////////////////////
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#include "testprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+ #include "wx/app.h"
+#endif // WX_PRECOMP
+
+#include "wx/control.h"
+#include "wx/stattext.h"
+#include "wx/checkbox.h"
+
+// ----------------------------------------------------------------------------
+// test class
+// ----------------------------------------------------------------------------
+
+class LabelTestCase : public CppUnit::TestCase
+{
+public:
+ LabelTestCase() { }
+
+ virtual void setUp();
+ virtual void tearDown();
+
+private:
+ CPPUNIT_TEST_SUITE( LabelTestCase );
+ CPPUNIT_TEST( GetLabel );
+ CPPUNIT_TEST( GetLabelText );
+ CPPUNIT_TEST( Statics );
+ CPPUNIT_TEST_SUITE_END();
+
+ void GetLabel();
+ void GetLabelText();
+ void Statics();
+
+ wxStaticText *m_st;
+
+ // we cannot test wxControl directly (it's abstract) so we rather test wxCheckBox
+ wxCheckBox *m_cb;
+
+ DECLARE_NO_COPY_CLASS(LabelTestCase)
+};
+
+// register in the unnamed registry so that these tests are run by default
+CPPUNIT_TEST_SUITE_REGISTRATION( LabelTestCase );
+
+// also include in its own registry so that these tests can be run alone
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( LabelTestCase, "LabelTestCase" );
+
+// ----------------------------------------------------------------------------
+// test initialization
+// ----------------------------------------------------------------------------
+
+#define ORIGINAL_LABEL "original label"
+
+void LabelTestCase::setUp()
+{
+ m_st = new wxStaticText(wxTheApp->GetTopWindow(), wxID_ANY, ORIGINAL_LABEL);
+
+ m_cb = new wxCheckBox(wxTheApp->GetTopWindow(), wxID_ANY, ORIGINAL_LABEL);
+
+ CPPUNIT_ASSERT_EQUAL( ORIGINAL_LABEL, m_st->GetLabel() );
+ CPPUNIT_ASSERT_EQUAL( ORIGINAL_LABEL, m_cb->GetLabel() );
+}
+
+void LabelTestCase::tearDown()
+{
+ wxDELETE(m_st);
+ wxDELETE(m_cb);
+}
+
+// ----------------------------------------------------------------------------
+// the tests themselves
+// ----------------------------------------------------------------------------
+
+#define SET_LABEL(str) \
+ m_st->SetLabel(str); \
+ m_cb->SetLabel(str);
+
+#define SET_LABEL_TEXT(str) \
+ m_st->SetLabelText(str); \
+ m_cb->SetLabelText(str);
+
+void LabelTestCase::GetLabel()
+{
+ const wxString testLabelArray[] = {
+ "label without mnemonics and markup",
+ "label with &mnemonic",
+ "label with <span foreground='blue'>some</span> <b>markup</b>",
+ "label with <span foreground='blue'>some</span> <b>markup</b> and &mnemonic",
+ };
+
+ // test calls to SetLabel() and then to GetLabel()
+
+ for ( unsigned int s = 0; s < WXSIZEOF(testLabelArray); s++ )
+ {
+ SET_LABEL(testLabelArray[s]);
+
+ // GetLabel() should always return the string passed to SetLabel()
+ CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_st->GetLabel() );
+ CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_cb->GetLabel() );
+ }
+
+
+ // test calls to SetLabelText() and then to GetLabel()
+
+ const wxString& testLabel = "label without mnemonics and markup";
+ SET_LABEL_TEXT(testLabel);
+ CPPUNIT_ASSERT_EQUAL( testLabel, m_st->GetLabel() );
+ CPPUNIT_ASSERT_EQUAL( testLabel, m_cb->GetLabel() );
+
+ const wxString& testLabel2 = "label with &mnemonic";
+ const wxString& testLabelText2 = "label with &&mnemonic";
+ SET_LABEL_TEXT(testLabel2);
+ CPPUNIT_ASSERT_EQUAL( testLabelText2, m_st->GetLabel() );
+ CPPUNIT_ASSERT_EQUAL( testLabelText2, m_cb->GetLabel() );
+
+ const wxString& testLabel3 = "label with <span foreground='blue'>some</span> <b>markup</b>";
+ SET_LABEL_TEXT(testLabel3);
+ CPPUNIT_ASSERT_EQUAL( testLabel3, m_st->GetLabel() );
+ CPPUNIT_ASSERT_EQUAL( testLabel3, m_cb->GetLabel() );
+
+ const wxString& testLabel4 = "label with <span foreground='blue'>some</span> <b>markup</b> and &mnemonic";
+ const wxString& testLabelText4 = "label with <span foreground='blue'>some</span> <b>markup</b> and &&mnemonic";
+ SET_LABEL_TEXT(testLabel4);
+ CPPUNIT_ASSERT_EQUAL( testLabelText4, m_st->GetLabel() );
+ CPPUNIT_ASSERT_EQUAL( testLabelText4, m_cb->GetLabel() );
+}
+
+void LabelTestCase::GetLabelText()
+{
+ // test calls to SetLabel() and then to GetLabelText()
+
+ const wxString& testLabel = "label without mnemonics and markup";
+ SET_LABEL(testLabel);
+ CPPUNIT_ASSERT_EQUAL( testLabel, m_st->GetLabelText() );
+ CPPUNIT_ASSERT_EQUAL( testLabel, m_cb->GetLabelText() );
+
+ const wxString& testLabel2 = "label with &mnemonic";
+ const wxString& testLabelText2 = "label with mnemonic";
+ SET_LABEL(testLabel2);
+ CPPUNIT_ASSERT_EQUAL( testLabelText2, m_st->GetLabelText() );
+ CPPUNIT_ASSERT_EQUAL( testLabelText2, m_cb->GetLabelText() );
+
+ const wxString& testLabel3 = "label with <span foreground='blue'>some</span> <b>markup</b>";
+ SET_LABEL(testLabel3);
+ CPPUNIT_ASSERT_EQUAL( testLabel3, m_st->GetLabelText() );
+ CPPUNIT_ASSERT_EQUAL( testLabel3, m_cb->GetLabelText() );
+
+ const wxString& testLabel4 = "label with <span foreground='blue'>some</span> <b>markup</b> and &mnemonic";
+ const wxString& testLabelText4 = "label with <span foreground='blue'>some</span> <b>markup</b> and mnemonic";
+ SET_LABEL(testLabel4);
+ CPPUNIT_ASSERT_EQUAL( testLabelText4, m_st->GetLabelText() );
+ CPPUNIT_ASSERT_EQUAL( testLabelText4, m_cb->GetLabelText() );
+
+
+ const wxString testLabelArray[] = {
+ "label without mnemonics and markup",
+ "label with &mnemonic",
+ "label with <span foreground='blue'>some</span> <b>markup</b>",
+ "label with <span foreground='blue'>some</span> <b>markup</b> and &mnemonic",
+ };
+
+ // test calls to SetLabelText() and then to GetLabelText()
+
+ for ( unsigned int s = 0; s < WXSIZEOF(testLabelArray); s++ )
+ {
+ SET_LABEL_TEXT(testLabelArray[s]);
+
+ // GetLabelText() should always return the string passed to SetLabelText()
+ CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_st->GetLabelText() );
+ CPPUNIT_ASSERT_EQUAL( testLabelArray[s], m_cb->GetLabelText() );
+ }
+}
+
+void LabelTestCase::Statics()
+{
+ CPPUNIT_ASSERT_EQUAL( "mnemonic", wxControl::RemoveMnemonics("&mnemonic") );
+ CPPUNIT_ASSERT_EQUAL( "&mnemonic", wxControl::RemoveMnemonics("&&mnemonic") );
+ CPPUNIT_ASSERT_EQUAL( "&mnemonic", wxControl::RemoveMnemonics("&&&mnemonic") );
+}