|
|
@ -71,7 +71,11 @@ TEST_CASE("Wide") {
|
|
|
|
const char EGC1[] = "\u00c5"; // neutral A with ring above Å
|
|
|
|
const char EGC1[] = "\u00c5"; // neutral A with ring above Å
|
|
|
|
const char EGC2[] = "\u20a9"; // half-width won ₩
|
|
|
|
const char EGC2[] = "\u20a9"; // half-width won ₩
|
|
|
|
const char EGC3[] = "\u212b"; // ambiguous angstrom Å
|
|
|
|
const char EGC3[] = "\u212b"; // ambiguous angstrom Å
|
|
|
|
|
|
|
|
#ifdef __APPLE__ // FIXME
|
|
|
|
|
|
|
|
const char EGC4[] = "\U00010E7D";
|
|
|
|
|
|
|
|
#else
|
|
|
|
const char EGC4[] = "\ufdfd"; // neutral yet huge bismillah ﷽
|
|
|
|
const char EGC4[] = "\ufdfd"; // neutral yet huge bismillah ﷽
|
|
|
|
|
|
|
|
#endif
|
|
|
|
std::array<nccell, 5> tcells;
|
|
|
|
std::array<nccell, 5> tcells;
|
|
|
|
for(auto & tcell : tcells){
|
|
|
|
for(auto & tcell : tcells){
|
|
|
|
nccell_init(&tcell);
|
|
|
|
nccell_init(&tcell);
|
|
|
@ -989,6 +993,7 @@ TEST_CASE("Wide") {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// fill the screen with un-inlineable EGCs
|
|
|
|
// fill the screen with un-inlineable EGCs
|
|
|
|
|
|
|
|
#ifndef __APPLE__ // FIXME
|
|
|
|
SUBCASE("OfflineEGCs") {
|
|
|
|
SUBCASE("OfflineEGCs") {
|
|
|
|
nccell c = CELL_TRIVIAL_INITIALIZER;
|
|
|
|
nccell c = CELL_TRIVIAL_INITIALIZER;
|
|
|
|
const char egc[] = "\U0001F471\u200D\u2640"; // all one EGC
|
|
|
|
const char egc[] = "\U0001F471\u200D\u2640"; // all one EGC
|
|
|
@ -999,6 +1004,7 @@ TEST_CASE("Wide") {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
CHECK(0 == notcurses_render(nc_));
|
|
|
|
CHECK(0 == notcurses_render(nc_));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
SUBCASE("Putwc") {
|
|
|
|
SUBCASE("Putwc") {
|
|
|
|
wchar_t w = L'\u2658';
|
|
|
|
wchar_t w = L'\u2658';
|
|
|
|