|
|
|
@ -171,6 +171,30 @@ TEST_CASE("SelectorTest") {
|
|
|
|
|
CHECK(0 == notcurses_render(nc_));
|
|
|
|
|
auto sel = ncselector_selected(ncs);
|
|
|
|
|
REQUIRE(nullptr != sel);
|
|
|
|
|
CHECK(0 == strcmp(sel, items[0].option));
|
|
|
|
|
free(sel);
|
|
|
|
|
CHECK(0 == notcurses_render(nc_));
|
|
|
|
|
ncselector_nextitem(ncs, &sel);
|
|
|
|
|
REQUIRE(nullptr != sel);
|
|
|
|
|
CHECK(0 == strcmp(sel, items[1].option));
|
|
|
|
|
free(sel);
|
|
|
|
|
CHECK(0 == notcurses_render(nc_));
|
|
|
|
|
ncselector_previtem(ncs, &sel);
|
|
|
|
|
REQUIRE(nullptr != sel);
|
|
|
|
|
CHECK(0 == strcmp(sel, items[0].option));
|
|
|
|
|
free(sel);
|
|
|
|
|
CHECK(0 == notcurses_render(nc_));
|
|
|
|
|
// wrap around from the top to bottom...
|
|
|
|
|
ncselector_previtem(ncs, &sel);
|
|
|
|
|
REQUIRE(nullptr != sel);
|
|
|
|
|
CHECK(0 == strcmp(sel, items[2].option));
|
|
|
|
|
free(sel);
|
|
|
|
|
CHECK(0 == notcurses_render(nc_));
|
|
|
|
|
// ...and back to the top
|
|
|
|
|
ncselector_nextitem(ncs, &sel);
|
|
|
|
|
REQUIRE(nullptr != sel);
|
|
|
|
|
CHECK(0 == strcmp(sel, items[0].option));
|
|
|
|
|
free(sel);
|
|
|
|
|
struct ncplane* ncsp = ncselector_plane(ncs);
|
|
|
|
|
REQUIRE(nullptr != ncsp);
|
|
|
|
|
int dimy, dimx;
|
|
|
|
@ -193,6 +217,31 @@ TEST_CASE("SelectorTest") {
|
|
|
|
|
struct ncselector* ncs = ncselector_create(notcurses_stdplane(nc_), 0, 0, &opts);
|
|
|
|
|
REQUIRE(nullptr != ncs);
|
|
|
|
|
CHECK(0 == notcurses_render(nc_));
|
|
|
|
|
auto sel = ncselector_selected(ncs);
|
|
|
|
|
CHECK(0 == strcmp(sel, items[0].option));
|
|
|
|
|
free(sel);
|
|
|
|
|
CHECK(0 == notcurses_render(nc_));
|
|
|
|
|
ncselector_nextitem(ncs, &sel);
|
|
|
|
|
REQUIRE(nullptr != sel);
|
|
|
|
|
CHECK(0 == strcmp(sel, items[1].option));
|
|
|
|
|
free(sel);
|
|
|
|
|
CHECK(0 == notcurses_render(nc_));
|
|
|
|
|
ncselector_previtem(ncs, &sel);
|
|
|
|
|
REQUIRE(nullptr != sel);
|
|
|
|
|
CHECK(0 == strcmp(sel, items[0].option));
|
|
|
|
|
free(sel);
|
|
|
|
|
CHECK(0 == notcurses_render(nc_));
|
|
|
|
|
// wrap around from the top to bottom...
|
|
|
|
|
ncselector_previtem(ncs, &sel);
|
|
|
|
|
REQUIRE(nullptr != sel);
|
|
|
|
|
CHECK(0 == strcmp(sel, items[2].option));
|
|
|
|
|
free(sel);
|
|
|
|
|
CHECK(0 == notcurses_render(nc_));
|
|
|
|
|
// ...and back to the top
|
|
|
|
|
ncselector_nextitem(ncs, &sel);
|
|
|
|
|
REQUIRE(nullptr != sel);
|
|
|
|
|
CHECK(0 == strcmp(sel, items[0].option));
|
|
|
|
|
free(sel);
|
|
|
|
|
struct ncplane* ncsp = ncselector_plane(ncs);
|
|
|
|
|
REQUIRE(nullptr != ncsp);
|
|
|
|
|
int dimy, dimx;
|
|
|
|
|