Add unit test for no events when adding first wxNotebook page
Adding the first page shouldn't generate any events even if the selection does change (from -1 to 0) internally.
This commit is contained in:
		@@ -20,7 +20,9 @@
 | 
				
			|||||||
#endif // WX_PRECOMP
 | 
					#endif // WX_PRECOMP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "wx/notebook.h"
 | 
					#include "wx/notebook.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "bookctrlbasetest.h"
 | 
					#include "bookctrlbasetest.h"
 | 
				
			||||||
 | 
					#include "testableframe.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class NotebookTestCase : public BookCtrlBaseTestCase, public CppUnit::TestCase
 | 
					class NotebookTestCase : public BookCtrlBaseTestCase, public CppUnit::TestCase
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -118,4 +120,25 @@ void NotebookTestCase::NoEventsOnDestruction()
 | 
				
			|||||||
    CHECK( m_numPageChanges == 1 );
 | 
					    CHECK( m_numPageChanges == 1 );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_CASE("wxNotebook::NoEventsForFirstPage", "[wxNotebook][event]")
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    wxNotebook* const
 | 
				
			||||||
 | 
					        notebook = new wxNotebook(wxTheApp->GetTopWindow(), wxID_ANY,
 | 
				
			||||||
 | 
					                                  wxDefaultPosition, wxSize(400, 200));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    CHECK( notebook->GetSelection() == wxNOT_FOUND );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    EventCounter countPageChanging(notebook, wxEVT_NOTEBOOK_PAGE_CHANGING);
 | 
				
			||||||
 | 
					    EventCounter countPageChanged(notebook, wxEVT_NOTEBOOK_PAGE_CHANGED);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    notebook->AddPage(new wxPanel(notebook), "First page");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // The selection should have been changed.
 | 
				
			||||||
 | 
					    CHECK( notebook->GetSelection() == 0 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // But no events should have been generated.
 | 
				
			||||||
 | 
					    CHECK( countPageChanging.GetCount() == 0 );
 | 
				
			||||||
 | 
					    CHECK( countPageChanged.GetCount() == 0 );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif //wxUSE_NOTEBOOK
 | 
					#endif //wxUSE_NOTEBOOK
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user