compiler/src/test/ulm/testUnixTerminals.Mod
2026-09-25 19:05:52 +04:00

26 lines
868 B
Modula-2

MODULE testUnixTerminals;
IMPORT Streams := ulmStreams, Terminals := ulmTerminals,
UnixTerminals := ulmUnixTerminals, Write := ulmWrite;
VAR status: Terminals.Status; caps: Terminals.CapabilitySet;
BEGIN
ASSERT(Terminals.console # NIL);
ASSERT(Streams.stdout = Terminals.console);
caps := Terminals.Capabilities(Terminals.console);
ASSERT(Terminals.setEcho IN caps);
ASSERT(Terminals.setTermMode IN caps);
Terminals.GetStatus(Terminals.console, status);
ASSERT((status.lines > 0) & (status.columns > 0));
Terminals.Echo(Terminals.console, Terminals.off);
Terminals.Echo(Terminals.console, Terminals.on);
Terminals.SetTermMode(Terminals.console, Terminals.raw);
Terminals.SetTermMode(Terminals.console, Terminals.cooked);
Write.String("ulmUnixTerminals ok");
Write.Ln;
ASSERT(Streams.Close(Terminals.console))
END testUnixTerminals.