summaryrefslogtreecommitdiffstats
path: root/test/test_ncurses_unicode.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_ncurses_unicode.cc')
-rw-r--r--test/test_ncurses_unicode.cc40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/test_ncurses_unicode.cc b/test/test_ncurses_unicode.cc
new file mode 100644
index 0000000..a43d91c
--- /dev/null
+++ b/test/test_ncurses_unicode.cc
@@ -0,0 +1,40 @@
+
+#include <stdlib.h>
+
+#include "config.h"
+#define _XOPEN_SOURCE_EXTENDED 1
+#include <locale.h>
+
+#if defined HAVE_NCURSESW_CURSES_H
+# include <ncursesw/curses.h>
+#elif defined HAVE_NCURSESW_H
+# include <ncursesw.h>
+#elif defined HAVE_NCURSES_CURSES_H
+# include <ncurses/curses.h>
+#elif defined HAVE_NCURSES_H
+# include <ncurses.h>
+#elif defined HAVE_CURSES_H
+# include <curses.h>
+#else
+# error "SysV or X/Open-compatible Curses header file required"
+#endif
+
+int
+main(int argc, char* argv[])
+{
+ setenv("LANG", "en_US.UTF-8", 1);
+ setlocale(LC_ALL, "");
+
+ WINDOW* stdscr = initscr();
+ cbreak();
+ char buf[1024];
+ FILE* file = fopen(argv[1], "r");
+ int row = 0;
+ while (!feof(file)) {
+ if (fgets(buf, sizeof(buf), file) != nullptr) {
+ mvwaddstr(stdscr, row++, 0, buf);
+ }
+ }
+ getch();
+ endwin();
+}