strengthen ImageChildScaling test #1675

pull/1683/head
nick black 3 years ago
parent 51bd8b7c40
commit f344c0d978
No known key found for this signature in database
GPG Key ID: 5F43400C21CBFACC

@ -566,7 +566,7 @@ TEST_CASE("Visual") {
SUBCASE("ImageChildScaling") { SUBCASE("ImageChildScaling") {
struct ncplane_options opts = { struct ncplane_options opts = {
.y = 0, .x = 0, .y = 0, .x = 0,
.rows = 5, .cols = 5, .rows = 20, .cols = 20,
.userptr = nullptr, .userptr = nullptr,
.name = "parent", .name = "parent",
.resizecb = nullptr, .resizecb = nullptr,
@ -577,29 +577,43 @@ TEST_CASE("Visual") {
auto parent = ncplane_create(n_, &opts); auto parent = ncplane_create(n_, &opts);
REQUIRE(parent); REQUIRE(parent);
struct ncvisual_options vopts = { struct ncvisual_options vopts = {
.n = parent, .n = nullptr,
.scaling = NCSCALE_STRETCH, .scaling = NCSCALE_NONE,
.y = 0, .y = 0,
.x = 0, .x = 0,
.begy = 0, .begx = 0, .begy = 0, .begx = 0,
.leny = 0, .lenx = 0, .leny = 0, .lenx = 0,
.blitter = NCBLIT_1x1, .blitter = NCBLIT_1x1,
.flags = NCVISUAL_OPTION_CHILDPLANE, .flags = 0,
.transcolor = 0, .transcolor = 0,
}; };
const uint32_t pixels[1] = { htole(0xffffffff) }; const uint32_t pixels[16] = {
auto ncv = ncvisual_from_rgba(pixels, 1, 4, 1); htole(0xffffffff), htole(0xffffffff), htole(0xffc0ffff), htole(0xffffc0ff),
htole(0xffc0c0ff), htole(0xffc0c0ff), htole(0xff80c0ff), htole(0xffc080ff),
htole(0xff8080ff), htole(0xff8080ff), htole(0xff4080ff), htole(0xff8040ff),
htole(0xff4040ff), htole(0xff4040ff), htole(0xffff40ff), htole(0xff40ffff),
};
auto ncv = ncvisual_from_rgba(pixels, 4, 16, 4);
REQUIRE(ncv); REQUIRE(ncv);
auto child = ncvisual_render(nc_, ncv, &vopts); auto child = ncvisual_render(nc_, ncv, &vopts);
REQUIRE(child); REQUIRE(child);
CHECK(5 == ncplane_dim_y(child)); CHECK(4 == ncplane_dim_y(child));
CHECK(5 == ncplane_dim_x(child)); CHECK(4 == ncplane_dim_x(child));
CHECK(0 == ncplane_y(child)); CHECK(0 == ncplane_y(child));
CHECK(0 == ncplane_x(child)); CHECK(0 == ncplane_x(child));
ncvisual_destroy(ncv); CHECK(0 == notcurses_render(nc_));
CHECK(0 == ncplane_destroy(child));
vopts.n = parent,
vopts.scaling = NCSCALE_STRETCH,
vopts.flags = NCVISUAL_OPTION_CHILDPLANE;
child = ncvisual_render(nc_, ncv, &vopts);
REQUIRE(child);
CHECK(20 == ncplane_dim_y(child));
CHECK(20 == ncplane_dim_x(child));
CHECK(0 == notcurses_render(nc_)); CHECK(0 == notcurses_render(nc_));
CHECK(0 == ncplane_destroy(parent)); CHECK(0 == ncplane_destroy(parent));
CHECK(0 == ncplane_destroy(child)); CHECK(0 == ncplane_destroy(child));
ncvisual_destroy(ncv);
} }
SUBCASE("ImageChildAlignment") { SUBCASE("ImageChildAlignment") {

Loading…
Cancel
Save