initial commit
Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
123
libs/wxWidgets-3.3.1/tests/controls/listviewtest.cpp
Normal file
123
libs/wxWidgets-3.3.1/tests/controls/listviewtest.cpp
Normal file
@@ -0,0 +1,123 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: tests/controls/listviewtest.cpp
|
||||
// Purpose: wxListView unit test
|
||||
// Author: Steven Lamerton
|
||||
// Created: 2010-07-10
|
||||
// Copyright: (c) 2010 Steven Lamerton
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "testprec.h"
|
||||
|
||||
#if wxUSE_LISTCTRL
|
||||
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/app.h"
|
||||
#endif // WX_PRECOMP
|
||||
|
||||
#include "wx/listctrl.h"
|
||||
#include "listbasetest.h"
|
||||
#include "testableframe.h"
|
||||
|
||||
class ListViewTestCase : public ListBaseTestCase
|
||||
{
|
||||
public:
|
||||
ListViewTestCase();
|
||||
virtual ~ListViewTestCase() override;
|
||||
|
||||
virtual wxListCtrl *GetList() const override { return m_list; }
|
||||
|
||||
protected:
|
||||
wxListView *m_list;
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(ListViewTestCase);
|
||||
};
|
||||
|
||||
ListViewTestCase::ListViewTestCase()
|
||||
{
|
||||
m_list = new wxListView(wxTheApp->GetTopWindow());
|
||||
m_list->SetWindowStyle(wxLC_REPORT);
|
||||
m_list->SetSize(400, 200);
|
||||
}
|
||||
|
||||
ListViewTestCase::~ListViewTestCase()
|
||||
{
|
||||
DeleteTestWindow(m_list);
|
||||
}
|
||||
|
||||
wxLIST_BASE_TESTS(ListView, "[listctrl][listview]")
|
||||
|
||||
TEST_CASE_METHOD(ListViewTestCase, "ListView::Selection", "[listctrl][listview]")
|
||||
{
|
||||
m_list->InsertColumn(0, "Column 0");
|
||||
|
||||
m_list->InsertItem(0, "Item 0");
|
||||
m_list->InsertItem(1, "Item 1");
|
||||
m_list->InsertItem(2, "Item 2");
|
||||
m_list->InsertItem(3, "Item 3");
|
||||
|
||||
m_list->Select(0);
|
||||
m_list->Select(2);
|
||||
m_list->Select(3);
|
||||
|
||||
CHECK(m_list->IsSelected(0));
|
||||
CHECK(!m_list->IsSelected(1));
|
||||
|
||||
long sel = m_list->GetFirstSelected();
|
||||
|
||||
CHECK( sel == 0 );
|
||||
|
||||
sel = m_list->GetNextSelected(sel);
|
||||
|
||||
CHECK( sel == 2 );
|
||||
|
||||
sel = m_list->GetNextSelected(sel);
|
||||
|
||||
CHECK( sel == 3 );
|
||||
|
||||
sel = m_list->GetNextSelected(sel);
|
||||
|
||||
CHECK( sel == -1 );
|
||||
|
||||
m_list->Select(0, false);
|
||||
|
||||
CHECK(!m_list->IsSelected(0));
|
||||
CHECK( m_list->GetFirstSelected() == 2 );
|
||||
}
|
||||
|
||||
TEST_CASE_METHOD(ListViewTestCase, "ListView::Focus", "[listctrl][listview]")
|
||||
{
|
||||
EventCounter focused(m_list, wxEVT_LIST_ITEM_FOCUSED);
|
||||
|
||||
m_list->InsertColumn(0, "Column 0");
|
||||
|
||||
m_list->InsertItem(0, "Item 0");
|
||||
m_list->InsertItem(1, "Item 1");
|
||||
m_list->InsertItem(2, "Item 2");
|
||||
m_list->InsertItem(3, "Item 3");
|
||||
|
||||
CHECK( focused.GetCount() == 0 );
|
||||
CHECK( m_list->GetFocusedItem() == -1 );
|
||||
|
||||
m_list->Focus(0);
|
||||
|
||||
CHECK( focused.GetCount() == 1 );
|
||||
CHECK( m_list->GetFocusedItem() == 0 );
|
||||
}
|
||||
|
||||
TEST_CASE_METHOD(ListViewTestCase, "ListView::AppendColumn", "[listctrl][listview]")
|
||||
{
|
||||
m_list->AppendColumn("Column 0");
|
||||
m_list->AppendColumn("Column 1");
|
||||
|
||||
m_list->InsertItem(0, "First item");
|
||||
m_list->SetItem(0, 1, "First subitem");
|
||||
|
||||
// Appending a column shouldn't change the existing items.
|
||||
m_list->AppendColumn("Column 2");
|
||||
|
||||
CHECK( m_list->GetItemText(0) == "First item" );
|
||||
CHECK( m_list->GetItemText(0, 1) == "First subitem" );
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user