| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- MODULE KeysTest ;
- (* Read a key map and print it as hex, so the loader/decoder is asserted byte
- for byte by tests/term_config.sh (which copies the fixture to the fixed
- path). *)
- FROM Keys IMPORT Map, Load ;
- FROM Posix IMPORT write ;
- FROM SYSTEM IMPORT ADR ;
- VAR
- m : Map ;
- ok : BOOLEAN ;
- n : LONGINT ;
- ch : CHAR ;
- PROCEDURE Out (s : ARRAY OF CHAR) ;
- VAR i : CARDINAL ;
- BEGIN
- i := 0 ;
- WHILE (i <= HIGH (s)) AND (s [i] # 0C) DO
- ch := s [i] ;
- n := write (1, ADR (ch), 1) ;
- INC (i)
- END
- END Out ;
- PROCEDURE NL ;
- BEGIN
- ch := CHR (10) ;
- n := write (1, ADR (ch), 1)
- END NL ;
- PROCEDURE HexDig (d : CARDINAL) ;
- BEGIN
- IF d < 10 THEN
- ch := CHR (ORD ('0') + d)
- ELSE
- ch := CHR (ORD ('A') + d - 10)
- END ;
- n := write (1, ADR (ch), 1)
- END HexDig ;
- PROCEDURE K (label : ARRAY OF CHAR ; c : CHAR) ;
- BEGIN
- Out (label) ; Out ("=") ;
- HexDig (ORD (c) DIV 16) ; HexDig (ORD (c) MOD 16) ;
- NL
- END K ;
- BEGIN
- Load ("../tmp/key_test.key", m, ok) ;
- IF ok THEN Out ("ok=1") ELSE Out ("ok=0") END ;
- NL ;
- K ("QUIT", m.quit) ;
- K ("CANCEL", m.cancel) ;
- K ("PREFIX", m.prefix) ;
- K ("LITERAL", m.literal) ;
- K ("WORDLEFT", m.wordLeft) ;
- K ("CHARLEFT", m.charLeft) ;
- K ("CHARRIGHT", m.charRight) ;
- K ("WORDRIGHT", m.wordRight) ;
- K ("LINEUP", m.lineUp) ;
- K ("LINEDOWN", m.lineDown) ;
- K ("SCROLLUP", m.scrollUp) ;
- K ("SCROLLDOWN", m.scrollDown) ;
- K ("PAGEUP", m.pageUp) ;
- K ("PAGEDOWN", m.pageDown) ;
- K ("INSERTTOGGLE", m.insertToggle) ;
- K ("DELETECHAR", m.deleteChar) ;
- K ("DELETELEFT", m.deleteLeft) ;
- K ("DELETEWORD", m.deleteWord) ;
- K ("INSERTBREAK", m.insertBreak) ;
- K ("DELETELINE", m.deleteLine) ;
- K ("REPEAT", m.repeatLast) ;
- K ("AUTOTAB", m.autoTab) ;
- K ("NEWLINE", m.newLine)
- END KeysTest.
|