#include "libterm" proc main() { using namespace term; var fail = 27; try { Start(main); } catch (e) { fail--; } try { RawInput(); } catch (e) { fail--; } try { RawInput(main); } catch (e) { fail--; } try { GotoRC(); } catch (e) { fail--; } try { GotoRC(main,main); } catch (e) { fail--; } try { Reverse(); } catch (e) { fail--; } try { Reverse(main); } catch (e) { fail--; } try { Bold(); } catch (e) { fail--; } try { Bold(main); } catch (e) { fail--; } try { Bold(); } catch (e) { fail--; } try { Bold(main); } catch (e) { fail--; } try { ColorPair(); } catch (e) { fail--; } try { ColorPair(main,main,main); } catch (e) { fail--; } try { ColorPair(16384,WHITE,BLACK); } catch (e) { fail--; } try { ColorPair(1,100,BLACK); } catch (e) { fail--; } try { ColorPair(1,WHITE,100); } catch (e) { fail--; } try { SetColor(); } catch (e) { fail--; } try { SetColor(main); } catch (e) { fail--; } try { SetColor(16384); } catch (e) { fail--; } try { ScrollRegion(); } catch (e) { fail--; } try { ScrollRegion(main,main); } catch (e) { fail--; } try { Scroll(); } catch (e) { fail--; } try { ScrollRegion(main); } catch (e) { fail--; } try { Query(); } catch (e) { fail--; } try { Query(main); } catch (e) { fail--; } try { Query(16384); } catch (e) { fail--; } var queries = {IS_RAW_IN, IS_COLOR, CAN_SCROLL, WIDTH, HEIGHT, FG, BG, COLOR, NCOLORS, BOLD, REVERSE, CURS_ROW, CURS_COL}; forall (queries[i]) { try { Query(queries[i]); } catch (e) { fail--; } } if (fail != 0) { "FAIL: ", fail, '\n'; } Start(); RawInput(1); "Press keys: up,down,left,right,home,end,pgup,pgdn,shift-tab,\n"; " bs (^H),del,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12\n"; "(or just press esc)\n"; var keys = <<< UP, "up", DOWN, "down", LEFT, "left", RIGHT, "right", HOME, "home", END, "end", PGDN, "pgdn", PGUP, "pgup", BACKTAB, "bktab", '\b', "bs", 127, "del", F1, "f1", F2, "f2", F3, "f3", F4, "f4", F5, "f5", F6, "f6", F7, "f7", F8, "f8", F9, "f9", F10, "f10", F11, "f11", F12, "f12">>>; var numKeys = keys.length(); var done; while (numKeys) { var key = Getch(); if (key == '\x1b') { // escape numKeys = 0; } else { var name = keys[key]; if (name != nil) { "", name, ' '; keys[key] = nil; numKeys--; } } } Stop(); }