X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/232fdc630c42eb165f7659981043e794be03b3b7..HEAD:/tests/controls/slidertest.cpp diff --git a/tests/controls/slidertest.cpp b/tests/controls/slidertest.cpp index 536166c8fc..771cd16a08 100644 --- a/tests/controls/slidertest.cpp +++ b/tests/controls/slidertest.cpp @@ -3,7 +3,6 @@ // Purpose: wxSlider unit test // Author: Steven Lamerton // Created: 2010-07-20 -// RCS-ID: $Id$ // Copyright: (c) 2010 Steven Lamerton /////////////////////////////////////////////////////////////////////////////// @@ -33,12 +32,17 @@ public: private: CPPUNIT_TEST_SUITE( SliderTestCase ); +#ifndef __WXOSX__ WXUISIM_TEST( PageUpDown ); WXUISIM_TEST( LineUpDown ); WXUISIM_TEST( LinePageSize ); +#endif CPPUNIT_TEST( Value ); CPPUNIT_TEST( Range ); WXUISIM_TEST( Thumb ); + CPPUNIT_TEST( PseudoTest_Inversed ); + CPPUNIT_TEST( Value ); + CPPUNIT_TEST( Range ); CPPUNIT_TEST_SUITE_END(); void PageUpDown(); @@ -47,21 +51,33 @@ private: void Value(); void Range(); void Thumb(); + void PseudoTest_Inversed() { ms_inversed = true; } + + static bool ms_inversed; wxSlider* m_slider; DECLARE_NO_COPY_CLASS(SliderTestCase) }; +bool SliderTestCase::ms_inversed = false; + // register in the unnamed registry so that these tests are run by default CPPUNIT_TEST_SUITE_REGISTRATION( SliderTestCase ); -// also include in it's own registry so that these tests can be run alone +// also include in its own registry so that these tests can be run alone CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( SliderTestCase, "SliderTestCase" ); void SliderTestCase::setUp() { - m_slider = new wxSlider(wxTheApp->GetTopWindow(), wxID_ANY, 50, 0, 100); + long style = wxSL_HORIZONTAL; + + if ( ms_inversed ) + style |= wxSL_INVERSE; + + m_slider = new wxSlider(wxTheApp->GetTopWindow(), wxID_ANY, 50, 0, 100, + wxDefaultPosition, wxDefaultSize, + style); } void SliderTestCase::tearDown() @@ -72,11 +88,8 @@ void SliderTestCase::tearDown() void SliderTestCase::PageUpDown() { #if wxUSE_UIACTIONSIMULATOR - wxTestableFrame* frame = wxStaticCast(wxTheApp->GetTopWindow(), - wxTestableFrame); - - EventCounter count(m_slider, wxEVT_SCROLL_PAGEUP); - EventCounter count1(m_slider, wxEVT_SCROLL_PAGEDOWN); + EventCounter pageup(m_slider, wxEVT_SCROLL_PAGEUP); + EventCounter pagedown(m_slider, wxEVT_SCROLL_PAGEDOWN); wxUIActionSimulator sim; @@ -87,19 +100,16 @@ void SliderTestCase::PageUpDown() wxYield(); - CPPUNIT_ASSERT_EQUAL(1, frame->GetEventCount(wxEVT_SCROLL_PAGEUP)); - CPPUNIT_ASSERT_EQUAL(1, frame->GetEventCount(wxEVT_SCROLL_PAGEDOWN)); + CPPUNIT_ASSERT_EQUAL(1, pageup.GetCount()); + CPPUNIT_ASSERT_EQUAL(1, pagedown.GetCount()); #endif } void SliderTestCase::LineUpDown() { #if wxUSE_UIACTIONSIMULATOR - wxTestableFrame* frame = wxStaticCast(wxTheApp->GetTopWindow(), - wxTestableFrame); - - EventCounter count(m_slider, wxEVT_SCROLL_LINEUP); - EventCounter count1(m_slider, wxEVT_SCROLL_LINEDOWN); + EventCounter lineup(m_slider, wxEVT_SCROLL_LINEUP); + EventCounter linedown(m_slider, wxEVT_SCROLL_LINEDOWN); wxUIActionSimulator sim; @@ -110,8 +120,8 @@ void SliderTestCase::LineUpDown() wxYield(); - CPPUNIT_ASSERT_EQUAL(1, frame->GetEventCount(wxEVT_SCROLL_LINEUP)); - CPPUNIT_ASSERT_EQUAL(1, frame->GetEventCount(wxEVT_SCROLL_LINEDOWN)); + CPPUNIT_ASSERT_EQUAL(1, lineup.GetCount()); + CPPUNIT_ASSERT_EQUAL(1, linedown.GetCount()); #endif } @@ -163,6 +173,11 @@ void SliderTestCase::Range() CPPUNIT_ASSERT_EQUAL(0, m_slider->GetMin()); CPPUNIT_ASSERT_EQUAL(100, m_slider->GetMax()); + // Changing range shouldn't change the value. + m_slider->SetValue(17); + m_slider->SetRange(0, 200); + CPPUNIT_ASSERT_EQUAL(17, m_slider->GetValue()); + //Test negative ranges m_slider->SetRange(-50, 0); @@ -173,33 +188,21 @@ void SliderTestCase::Range() void SliderTestCase::Thumb() { #if wxUSE_UIACTIONSIMULATOR && !defined(__WXGTK__) - wxTestableFrame* frame = wxStaticCast(wxTheApp->GetTopWindow(), - wxTestableFrame); - - EventCounter count(m_slider, wxEVT_SCROLL_THUMBTRACK); - EventCounter count1(m_slider, wxEVT_SCROLL_THUMBRELEASE); - EventCounter count2(m_slider, wxEVT_SCROLL_CHANGED); + EventCounter track(m_slider, wxEVT_SCROLL_THUMBTRACK); + EventCounter release(m_slider, wxEVT_SCROLL_THUMBRELEASE); + EventCounter changed(m_slider, wxEVT_SCROLL_CHANGED); wxUIActionSimulator sim; m_slider->SetValue(0); - sim.MouseMove(m_slider->ClientToScreen(wxPoint(10, 10))); - wxYield(); - - sim.MouseDown(); - wxYield(); - - sim.MouseMove(m_slider->ClientToScreen(wxPoint(50, 10))); - wxYield(); - - sim.MouseUp(); + sim.MouseDragDrop(m_slider->ClientToScreen(wxPoint(10, 10)),m_slider->ClientToScreen(wxPoint(50, 10))); wxYield(); - CPPUNIT_ASSERT(frame->GetEventCount(wxEVT_SCROLL_THUMBTRACK) != 0); - CPPUNIT_ASSERT_EQUAL(1, frame->GetEventCount(wxEVT_SCROLL_THUMBRELEASE)); + CPPUNIT_ASSERT(track.GetCount() != 0); + CPPUNIT_ASSERT_EQUAL(1, release.GetCount()); #ifdef __WXMSW__ - CPPUNIT_ASSERT_EQUAL(1, frame->GetEventCount(wxEVT_SCROLL_CHANGED)); + CPPUNIT_ASSERT_EQUAL(1, changed.GetCount()); #endif #endif }