c{0: 0 (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) -- nil c{0: 1 (((s string-address)) <- ((new)) foo) -- nil c{0: 2 (((k keyboard-address)) <- ((init-keyboard)) ((s string-address))) -- nil c{0: 3 (((stdin channel-address)) <- ((init-channel)) ((1 literal))) -- nil c{0: 4 (((fork)) ((send-keys-to-stdin fn)) ((nil literal) (globals)) ((nil literal) (limit)) ((k keyboard-address)) ((stdin channel-address))) -- nil c{0: 5 (((buffered-stdin channel-address)) <- ((init-channel)) ((1 literal))) -- nil c{0: 6 (((r integer) (routine)) <- ((fork)) ((buffer-lines fn)) ((nil literal) (globals)) ((nil literal) (limit)) ((stdin channel-address)) ((buffered-stdin channel-address))) -- nil c{0: 7 (((screen terminal-address)) <- ((init-fake-terminal)) ((20 literal)) ((10 literal))) -- nil c{0: 8 (((5 string-address) (raw)) <- ((get)) ((screen terminal-address) (deref)) ((data offset))) -- nil c{0: 9 (((fork-helper)) ((send-prints-to-stdout fn)) ((nil literal) (globals)) ((nil literal) (limit)) ((screen terminal-address)) ((buffered-stdin channel-address))) -- nil c{0: 10 (((sleep)) ((until-routine-done literal)) ((r integer) (routine))) -- nil c{1: 0 ✓ (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) c{1: 1 ✓ (((s string-address)) <- ((new)) foo) c{1: 2 ✓ (((k keyboard-address)) <- ((init-keyboard)) ((s string-address))) c{1: 3 ✓ (((stdin channel-address)) <- ((init-channel)) ((1 literal))) c{1: 4 ✓ (((fork)) ((send-keys-to-stdin fn)) ((nil literal) (globals)) ((nil literal) (limit)) ((k keyboard-address)) ((stdin channel-address))) c{1: 5 ✓ (((buffered-stdin channel-address)) <- ((init-channel)) ((1 literal))) c{1: 6 ✓ (((r integer) (routine)) <- ((fork)) ((buffer-lines fn)) ((nil literal) (globals)) ((nil literal) (limit)) ((stdin channel-address)) ((buffered-stdin channel-address))) c{1: 7 ✓ (((screen terminal-address)) <- ((init-fake-terminal)) ((20 literal)) ((10 literal))) c{1: 8 ✓ (((5 string-address) (raw)) <- ((get)) ((screen terminal-address) (deref)) ((data offset))) c{1: 9 ✓ (((fork-helper)) ((send-prints-to-stdout fn)) ((nil literal) (globals)) ((nil literal) (limit)) ((screen terminal-address)) ((buffered-stdin channel-address))) c{1: 10 ✓ (((sleep)) ((until-routine-done literal)) ((r integer) (routine))) cn0: convert-names in main cn0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) nil nil cn0: checking arg ((space literal)) cn0: checking arg ((30 literal)) cn0: checking oarg ((default-space space-address)) maybe-add: ((default-space space-address)) cn0: (((s string-address)) <- ((new)) foo) nil nil cn0: checking arg foo cn0: checking oarg ((s string-address)) maybe-add: ((s string-address)) cn0: location for oarg ((s string-address)): 1 cn0: (((k keyboard-address)) <- ((init-keyboard)) ((s string-address))) ((s 1)) nil cn0: checking arg ((s string-address)) maybe-add: ((s string-address)) cn0: checking oarg ((k keyboard-address)) maybe-add: ((k keyboard-address)) cn0: location for oarg ((k keyboard-address)): 2 cn0: (((stdin channel-address)) <- ((init-channel)) ((1 literal))) ((k 2) (s 1)) nil cn0: checking arg ((1 literal)) cn0: checking oarg ((stdin channel-address)) maybe-add: ((stdin channel-address)) cn0: location for oarg ((stdin channel-address)): 3 cn0: (((fork)) ((send-keys-to-stdin fn)) ((nil literal) (globals)) ((nil literal) (limit)) ((k keyboard-address)) ((stdin channel-address))) ((k 2) (s 1) (stdin 3)) nil cn0: checking arg ((send-keys-to-stdin fn)) cn0: checking arg ((nil literal) (globals)) cn0: checking arg ((nil literal) (limit)) cn0: checking arg ((k keyboard-address)) maybe-add: ((k keyboard-address)) cn0: checking arg ((stdin channel-address)) maybe-add: ((stdin channel-address)) cn0: (((buffered-stdin channel-address)) <- ((init-channel)) ((1 literal))) ((k 2) (s 1) (stdin 3)) nil cn0: checking arg ((1 literal)) cn0: checking oarg ((buffered-stdin channel-address)) maybe-add: ((buffered-stdin channel-address)) cn0: location for oarg ((buffered-stdin channel-address)): 4 cn0: (((r integer) (routine)) <- ((fork)) ((buffer-lines fn)) ((nil literal) (globals)) ((nil literal) (limit)) ((stdin channel-address)) ((buffered-stdin channel-address))) ((buffered-stdin 4) (k 2) (s 1) (stdin 3)) nil cn0: checking arg ((buffer-lines fn)) cn0: checking arg ((nil literal) (globals)) cn0: checking arg ((nil literal) (limit)) cn0: checking arg ((stdin channel-address)) maybe-add: ((stdin channel-address)) cn0: checking arg ((buffered-stdin channel-address)) maybe-add: ((buffered-stdin channel-address)) cn0: checking oarg ((r integer) (routine)) maybe-add: ((r integer) (routine)) cn0: location for oarg ((r integer) (routine)): 5 cn0: (((screen terminal-address)) <- ((init-fake-terminal)) ((20 literal)) ((10 literal))) ((buffered-stdin 4) (k 2) (r 5) (s 1) (stdin 3)) nil cn0: checking arg ((20 literal)) cn0: checking arg ((10 literal)) cn0: checking oarg ((screen terminal-address)) maybe-add: ((screen terminal-address)) cn0: location for oarg ((screen terminal-address)): 6 cn0: (((5 string-address) (raw)) <- ((get)) ((screen terminal-address) (deref)) ((data offset))) ((buffered-stdin 4) (k 2) (r 5) (s 1) (screen 6) (stdin 3)) nil cn0: field-access data in screenterminal-addressderef of type terminal cn0: new field; computing location cn0: field location 4 cn0: checking arg ((screen terminal-address) (deref)) maybe-add: ((screen terminal-address) (deref)) cn0: checking arg ((data offset)) cn0: checking oarg ((5 string-address) (raw)) maybe-add: ((5 string-address) (raw)) cn0: (((fork-helper)) ((send-prints-to-stdout fn)) ((nil literal) (globals)) ((nil literal) (limit)) ((screen terminal-address)) ((buffered-stdin channel-address))) ((buffered-stdin 4) (data 4) (k 2) (r 5) (s 1) (screen 6) (stdin 3)) ((data t)) cn0: checking arg ((send-prints-to-stdout fn)) cn0: checking arg ((nil literal) (globals)) cn0: checking arg ((nil literal) (limit)) cn0: checking arg ((screen terminal-address)) maybe-add: ((screen terminal-address)) cn0: checking arg ((buffered-stdin channel-address)) maybe-add: ((buffered-stdin channel-address)) cn0: (((sleep)) ((until-routine-done literal)) ((r integer) (routine))) ((buffered-stdin 4) (data 4) (k 2) (r 5) (s 1) (screen 6) (stdin 3)) ((data t)) cn0: checking arg ((until-routine-done literal)) cn0: checking arg ((r integer) (routine)) maybe-add: ((r integer) (routine)) cn1: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) cn1: (((1 string-address)) <- ((new)) foo) cn1: (((2 keyboard-address)) <- ((init-keyboard)) ((1 string-address))) cn1: (((3 channel-address)) <- ((init-channel)) ((1 literal))) cn1: (((fork)) ((send-keys-to-stdin fn)) ((nil literal) (globals)) ((nil literal) (limit)) ((2 keyboard-address)) ((3 channel-address))) cn1: (((4 channel-address)) <- ((init-channel)) ((1 literal))) cn1: (((5 integer) (routine)) <- ((fork)) ((buffer-lines fn)) ((nil literal) (globals)) ((nil literal) (limit)) ((3 channel-address)) ((4 channel-address))) cn1: (((6 terminal-address)) <- ((init-fake-terminal)) ((20 literal)) ((10 literal))) cn1: (((5 string-address) (raw)) <- ((get)) ((6 terminal-address) (deref)) ((4 offset))) cn1: (((fork-helper)) ((send-prints-to-stdout fn)) ((nil literal) (globals)) ((nil literal) (limit)) ((6 terminal-address)) ((4 channel-address))) cn1: (((sleep)) ((until-routine-done literal)) ((5 integer) (routine))) schedule: main run: main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: main 0: 1000 => ((default-space space-address)) run: main 1: (((1 string-address)) <- ((new)) foo) run: main 1: 1031 => ((1 string-address)) mem: ((1 string-address)): 1002 <= 1031 run: main 2: (((2 keyboard-address)) <- ((init-keyboard)) ((1 string-address))) mem: ((1 string-address)) => 1031 run: init-keyboard/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: init-keyboard/main 0: 1035 => ((default-space space-address)) run: init-keyboard/main 1: (((1 keyboard-address)) <- ((new)) ((keyboard literal))) run: init-keyboard/main 1: 1066 => ((1 keyboard-address)) mem: ((1 keyboard-address)): 1037 <= 1066 run: init-keyboard/main 2: (((2 string-address-address)) <- ((get-address)) ((1 keyboard-address) (deref)) ((1 offset))) run: init-keyboard/main 2: 1067 => ((2 string-address-address)) mem: ((2 string-address-address)): 1038 <= 1067 run: init-keyboard/main 3: (((2 string-address-address) (deref)) <- ((next-input))) arg: nil 0 (1031) run: init-keyboard/main 3: 1031 => ((2 string-address-address) (deref)) mem: ((2 string-address-address) (deref)): 1067 <= 1031 run: init-keyboard/main 4: (((3 integer-address)) <- ((get-address)) ((1 keyboard-address) (deref)) ((0 offset))) run: init-keyboard/main 4: 1066 => ((3 integer-address)) mem: ((3 integer-address)): 1039 <= 1066 run: init-keyboard/main 5: (((3 integer-address) (deref)) <- ((copy)) ((0 literal))) run: init-keyboard/main 5: 0 => ((3 integer-address) (deref)) mem: ((3 integer-address) (deref)): 1066 <= 0 run: init-keyboard/main 6: (((reply)) ((1 keyboard-address))) mem: ((1 keyboard-address)) => 1066 run: main 2: 1066 => ((2 keyboard-address)) mem: ((2 keyboard-address)): 1003 <= 1066 run: main 3: (((3 channel-address)) <- ((init-channel)) ((1 literal))) run: init-channel/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: init-channel/main 0: 1068 => ((default-space space-address)) run: init-channel/main 1: (((1 channel-address)) <- ((new)) ((channel literal))) run: init-channel/main 1: 1099 => ((1 channel-address)) mem: ((1 channel-address)): 1070 <= 1099 run: init-channel/main 2: (((2 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset))) run: init-channel/main 2: 1099 => ((2 integer-address)) mem: ((2 integer-address)): 1071 <= 1099 run: init-channel/main 3: (((2 integer-address) (deref)) <- ((copy)) ((0 literal))) run: init-channel/main 3: 0 => ((2 integer-address) (deref)) mem: ((2 integer-address) (deref)): 1099 <= 0 run: init-channel/main 4: (((3 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset))) run: init-channel/main 4: 1100 => ((3 integer-address)) mem: ((3 integer-address)): 1072 <= 1100 run: init-channel/main 5: (((3 integer-address) (deref)) <- ((copy)) ((0 literal))) run: init-channel/main 5: 0 => ((3 integer-address) (deref)) mem: ((3 integer-address) (deref)): 1100 <= 0 run: init-channel/main 6: (((4 integer)) <- ((next-input))) arg: nil 0 (1) run: init-channel/main 6: 1 => ((4 integer)) mem: ((4 integer)): 1073 <= 1 run: init-channel/main 7: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 1 run: init-channel/main 7: 2 => ((4 integer)) mem: ((4 integer)): 1073 <= 2 run: init-channel/main 8: (((5 tagged-value-array-address-address)) <- ((get-address)) ((1 channel-address) (deref)) ((2 offset))) run: init-channel/main 8: 1101 => ((5 tagged-value-array-address-address)) mem: ((5 tagged-value-array-address-address)): 1074 <= 1101 run: init-channel/main 9: (((5 tagged-value-array-address-address) (deref)) <- ((new)) ((tagged-value-array literal)) ((4 integer))) mem: ((4 integer)) => 2 run: init-channel/main 9: 1102 => ((5 tagged-value-array-address-address) (deref)) mem: ((5 tagged-value-array-address-address) (deref)): 1101 <= 1102 run: init-channel/main 10: (((reply)) ((1 channel-address))) mem: ((1 channel-address)) => 1099 run: main 3: 1099 => ((3 channel-address)) mem: ((3 channel-address)): 1004 <= 1099 run: main 4: (((fork)) ((send-keys-to-stdin fn)) ((nil literal) (globals)) ((nil literal) (limit)) ((2 keyboard-address)) ((3 channel-address))) mem: ((2 keyboard-address)) => 1066 mem: ((3 channel-address)) => 1099 run: main 5: (((4 channel-address)) <- ((init-channel)) ((1 literal))) run: init-channel/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: init-channel/main 0: 1107 => ((default-space space-address)) run: init-channel/main 1: (((1 channel-address)) <- ((new)) ((channel literal))) run: init-channel/main 1: 1138 => ((1 channel-address)) mem: ((1 channel-address)): 1109 <= 1138 run: init-channel/main 2: (((2 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((0 offset))) run: init-channel/main 2: 1138 => ((2 integer-address)) mem: ((2 integer-address)): 1110 <= 1138 run: init-channel/main 3: (((2 integer-address) (deref)) <- ((copy)) ((0 literal))) run: init-channel/main 3: 0 => ((2 integer-address) (deref)) mem: ((2 integer-address) (deref)): 1138 <= 0 run: init-channel/main 4: (((3 integer-address)) <- ((get-address)) ((1 channel-address) (deref)) ((1 offset))) run: init-channel/main 4: 1139 => ((3 integer-address)) mem: ((3 integer-address)): 1111 <= 1139 run: init-channel/main 5: (((3 integer-address) (deref)) <- ((copy)) ((0 literal))) run: init-channel/main 5: 0 => ((3 integer-address) (deref)) mem: ((3 integer-address) (deref)): 1139 <= 0 run: init-channel/main 6: (((4 integer)) <- ((next-input))) arg: nil 0 (1) run: init-channel/main 6: 1 => ((4 integer)) mem: ((4 integer)): 1112 <= 1 run: init-channel/main 7: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 1 run: init-channel/main 7: 2 => ((4 integer)) mem: ((4 integer)): 1112 <= 2 run: init-channel/main 8: (((5 tagged-value-array-address-address)) <- ((get-address)) ((1 channel-address) (deref)) ((2 offset))) run: init-channel/main 8: 1140 => ((5 tagged-value-array-address-address)) mem: ((5 tagged-value-array-address-address)): 1113 <= 1140 run: init-channel/main 9: (((5 tagged-value-array-address-address) (deref)) <- ((new)) ((tagged-value-array literal)) ((4 integer))) mem: ((4 integer)) => 2 run: init-channel/main 9: 1141 => ((5 tagged-value-array-address-address) (deref)) mem: ((5 tagged-value-array-address-address) (deref)): 1140 <= 1141 run: init-channel/main 10: (((reply)) ((1 channel-address))) mem: ((1 channel-address)) => 1138 run: main 5: 1138 => ((4 channel-address)) mem: ((4 channel-address)): 1005 <= 1138 run: main 6: (((5 integer) (routine)) <- ((fork)) ((buffer-lines fn)) ((nil literal) (globals)) ((nil literal) (limit)) ((3 channel-address)) ((4 channel-address))) mem: ((3 channel-address)) => 1099 mem: ((4 channel-address)) => 1138 run: main 6: 2 => ((5 integer) (routine)) mem: ((5 integer) (routine)): 1006 <= 2 run: main 7: (((6 terminal-address)) <- ((init-fake-terminal)) ((20 literal)) ((10 literal))) run: init-fake-terminal/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal) (capacity))) run: init-fake-terminal/main 0: 1146 => ((default-space space-address)) run: init-fake-terminal/main 1: (((1 terminal-address)) <- ((new)) ((terminal literal))) run: init-fake-terminal/main 1: 1177 => ((1 terminal-address)) mem: ((1 terminal-address)): 1148 <= 1177 run: init-fake-terminal/main 2: (((2 integer-address)) <- ((get-address)) ((1 terminal-address) (deref)) ((1 offset))) run: init-fake-terminal/main 2: 1178 => ((2 integer-address)) mem: ((2 integer-address)): 1149 <= 1178 run: init-fake-terminal/main 3: (((2 integer-address) (deref)) <- ((next-input))) arg: nil 0 (20 10) run: init-fake-terminal/main 3: 20 => ((2 integer-address) (deref)) mem: ((2 integer-address) (deref)): 1178 <= 20 run: init-fake-terminal/main 4: (((3 integer-address)) <- ((get-address)) ((1 terminal-address) (deref)) ((0 offset))) run: init-fake-terminal/main 4: 1177 => ((3 integer-address)) mem: ((3 integer-address)): 1150 <= 1177 run: init-fake-terminal/main 5: (((3 integer-address) (deref)) <- ((next-input))) arg: nil 1 (20 10) run: init-fake-terminal/main 5: 10 => ((3 integer-address) (deref)) mem: ((3 integer-address) (deref)): 1177 <= 10 run: init-fake-terminal/main 6: (((4 integer-address)) <- ((get-address)) ((1 terminal-address) (deref)) ((2 offset))) run: init-fake-terminal/main 6: 1179 => ((4 integer-address)) mem: ((4 integer-address)): 1151 <= 1179 run: init-fake-terminal/main 7: (((4 integer-address) (deref)) <- ((copy)) ((0 literal))) run: init-fake-terminal/main 7: 0 => ((4 integer-address) (deref)) mem: ((4 integer-address) (deref)): 1179 <= 0 run: init-fake-terminal/main 8: (((5 integer-address)) <- ((get-address)) ((1 terminal-address) (deref)) ((3 offset))) run: init-fake-terminal/main 8: 1180 => ((5 integer-address)) mem: ((5 integer-address)): 1152 <= 1180 run: init-fake-terminal/main 9: (((5 integer-address) (deref)) <- ((copy)) ((0 literal))) run: init-fake-terminal/main 9: 0 => ((5 integer-address) (deref)) mem: ((5 integer-address) (deref)): 1180 <= 0 run: init-fake-terminal/main 10: (((6 integer)) <- ((multiply)) ((2 integer-address) (deref)) ((3 integer-address) (deref))) mem: ((2 integer-address) (deref)) => 20 mem: ((3 integer-address) (deref)) => 10 run: init-fake-terminal/main 10: 200 => ((6 integer)) mem: ((6 integer)): 1153 <= 200 run: init-fake-terminal/main 11: (((7 string-address-address)) <- ((get-address)) ((1 terminal-address) (deref)) ((4 offset))) run: init-fake-terminal/main 11: 1181 => ((7 string-address-address)) mem: ((7 string-address-address)): 1154 <= 1181 run: init-fake-terminal/main 12: (((7 string-address-address) (deref)) <- ((new)) ((string literal)) ((6 integer))) mem: ((6 integer)) => 200 run: init-fake-terminal/main 12: 1182 => ((7 string-address-address) (deref)) mem: ((7 string-address-address) (deref)): 1181 <= 1182 run: init-fake-terminal/main 13: (((clear-screen)) ((1 terminal-address))) mem: ((1 terminal-address)) => 1177 run: clear-screen/init-fake-terminal/main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((30 literal))) run: clear-screen/init-fake-terminal/main 0: 1383 => ((default-space space-address)) run: clear-screen/init-fake-terminal/main 1: (((1 terminal-address)) <- ((next-input))) arg: nil 0 (1177) run: clear-screen/init-fake-terminal/main 1: 1177 => ((1 terminal-address)) mem: ((1 terminal-address)): 1385 <= 1177 run: clear-screen/init-fake-terminal/main 2: (((jump-unless)) ((1 terminal-address)) ((10 offset))) mem: ((1 terminal-address)) => 1177 run: clear-screen/init-fake-terminal/main 3: (((2 string-address)) <- ((get)) ((1 terminal-address) (deref)) ((4 offset))) mem: ((1181 string-address) (raw)) => 1182 run: clear-screen/init-fake-terminal/main 3: 1182 => ((2 string-address)) mem: ((2 string-address)): 1386 <= 1182 run: clear-screen/init-fake-terminal/main 4: (((3 integer)) <- ((length)) ((2 string-address) (deref))) array-len: ((2 string-address) (deref)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 4: 200 => ((3 integer)) mem: ((3 integer)): 1387 <= 200 run: clear-screen/init-fake-terminal/main 5: (((4 integer)) <- ((copy)) ((0 literal))) run: clear-screen/init-fake-terminal/main 5: 0 => ((4 integer)) mem: ((4 integer)): 1388 <= 0 run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 0 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string-address) (deref)) ((4 integer))) mem: ((4 integer)) => 0 array-len: ((1182 string) (raw)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 8: 1183 => ((1 byte-address)) mem: ((1 byte-address)): 1385 <= 1183 run: clear-screen/init-fake-terminal/main 9: (((1 byte-address) (deref)) <- ((copy)) (( literal))) run: clear-screen/init-fake-terminal/main 9: #\space => ((1 byte-address) (deref)) mem: ((1 byte-address) (deref)): 1183 <= #\space run: clear-screen/init-fake-terminal/main 10: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 0 run: clear-screen/init-fake-terminal/main 10: 1 => ((4 integer)) mem: ((4 integer)): 1388 <= 1 run: clear-screen/init-fake-terminal/main 11: (((jump)) ((-6 offset))) run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 1 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string-address) (deref)) ((4 integer))) mem: ((4 integer)) => 1 array-len: ((1182 string) (raw)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 8: 1184 => ((1 byte-address)) mem: ((1 byte-address)): 1385 <= 1184 run: clear-screen/init-fake-terminal/main 9: (((1 byte-address) (deref)) <- ((copy)) (( literal))) run: clear-screen/init-fake-terminal/main 9: #\space => ((1 byte-address) (deref)) mem: ((1 byte-address) (deref)): 1184 <= #\space run: clear-screen/init-fake-terminal/main 10: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 1 run: clear-screen/init-fake-terminal/main 10: 2 => ((4 integer)) mem: ((4 integer)): 1388 <= 2 run: clear-screen/init-fake-terminal/main 11: (((jump)) ((-6 offset))) run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 2 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string-address) (deref)) ((4 integer))) mem: ((4 integer)) => 2 array-len: ((1182 string) (raw)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 8: 1185 => ((1 byte-address)) mem: ((1 byte-address)): 1385 <= 1185 run: clear-screen/init-fake-terminal/main 9: (((1 byte-address) (deref)) <- ((copy)) (( literal))) run: clear-screen/init-fake-terminal/main 9: #\space => ((1 byte-address) (deref)) mem: ((1 byte-address) (deref)): 1185 <= #\space run: clear-screen/init-fake-terminal/main 10: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 2 run: clear-screen/init-fake-terminal/main 10: 3 => ((4 integer)) mem: ((4 integer)): 1388 <= 3 run: clear-screen/init-fake-terminal/main 11: (((jump)) ((-6 offset))) run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 3 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string-address) (deref)) ((4 integer))) mem: ((4 integer)) => 3 array-len: ((1182 string) (raw)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 8: 1186 => ((1 byte-address)) mem: ((1 byte-address)): 1385 <= 1186 run: clear-screen/init-fake-terminal/main 9: (((1 byte-address) (deref)) <- ((copy)) (( literal))) run: clear-screen/init-fake-terminal/main 9: #\space => ((1 byte-address) (deref)) mem: ((1 byte-address) (deref)): 1186 <= #\space run: clear-screen/init-fake-terminal/main 10: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 3 run: clear-screen/init-fake-terminal/main 10: 4 => ((4 integer)) mem: ((4 integer)): 1388 <= 4 run: clear-screen/init-fake-terminal/main 11: (((jump)) ((-6 offset))) run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 4 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string-address) (deref)) ((4 integer))) mem: ((4 integer)) => 4 array-len: ((1182 string) (raw)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 8: 1187 => ((1 byte-address)) mem: ((1 byte-address)): 1385 <= 1187 run: clear-screen/init-fake-terminal/main 9: (((1 byte-address) (deref)) <- ((copy)) (( literal))) run: clear-screen/init-fake-terminal/main 9: #\space => ((1 byte-address) (deref)) mem: ((1 byte-address) (deref)): 1187 <= #\space run: clear-screen/init-fake-terminal/main 10: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 4 run: clear-screen/init-fake-terminal/main 10: 5 => ((4 integer)) mem: ((4 integer)): 1388 <= 5 run: clear-screen/init-fake-terminal/main 11: (((jump)) ((-6 offset))) run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 5 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string-address) (deref)) ((4 integer))) mem: ((4 integer)) => 5 array-len: ((1182 string) (raw)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 8: 1188 => ((1 byte-address)) mem: ((1 byte-address)): 1385 <= 1188 run: clear-screen/init-fake-terminal/main 9: (((1 byte-address) (deref)) <- ((copy)) (( literal))) run: clear-screen/init-fake-terminal/main 9: #\space => ((1 byte-address) (deref)) mem: ((1 byte-address) (deref)): 1188 <= #\space run: clear-screen/init-fake-terminal/main 10: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 5 run: clear-screen/init-fake-terminal/main 10: 6 => ((4 integer)) mem: ((4 integer)): 1388 <= 6 run: clear-screen/init-fake-terminal/main 11: (((jump)) ((-6 offset))) run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 6 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string-address) (deref)) ((4 integer))) mem: ((4 integer)) => 6 array-len: ((1182 string) (raw)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 8: 1189 => ((1 byte-address)) mem: ((1 byte-address)): 1385 <= 1189 run: clear-screen/init-fake-terminal/main 9: (((1 byte-address) (deref)) <- ((copy)) (( literal))) run: clear-screen/init-fake-terminal/main 9: #\space => ((1 byte-address) (deref)) mem: ((1 byte-address) (deref)): 1189 <= #\space run: clear-screen/init-fake-terminal/main 10: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 6 run: clear-screen/init-fake-terminal/main 10: 7 => ((4 integer)) mem: ((4 integer)): 1388 <= 7 run: clear-screen/init-fake-terminal/main 11: (((jump)) ((-6 offset))) run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 7 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string-address) (deref)) ((4 integer))) mem: ((4 integer)) => 7 array-len: ((1182 string) (raw)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 8: 1190 => ((1 byte-address)) mem: ((1 byte-address)): 1385 <= 1190 run: clear-screen/init-fake-terminal/main 9: (((1 byte-address) (deref)) <- ((copy)) (( literal))) run: clear-screen/init-fake-terminal/main 9: #\space => ((1 byte-address) (deref)) mem: ((1 byte-address) (deref)): 1190 <= #\space run: clear-screen/init-fake-terminal/main 10: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 7 run: clear-screen/init-fake-terminal/main 10: 8 => ((4 integer)) mem: ((4 integer)): 1388 <= 8 run: clear-screen/init-fake-terminal/main 11: (((jump)) ((-6 offset))) run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 8 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string-address) (deref)) ((4 integer))) mem: ((4 integer)) => 8 array-len: ((1182 string) (raw)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 8: 1191 => ((1 byte-address)) mem: ((1 byte-address)): 1385 <= 1191 run: clear-screen/init-fake-terminal/main 9: (((1 byte-address) (deref)) <- ((copy)) (( literal))) run: clear-screen/init-fake-terminal/main 9: #\space => ((1 byte-address) (deref)) mem: ((1 byte-address) (deref)): 1191 <= #\space run: clear-screen/init-fake-terminal/main 10: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 8 run: clear-screen/init-fake-terminal/main 10: 9 => ((4 integer)) mem: ((4 integer)): 1388 <= 9 run: clear-screen/init-fake-terminal/main 11: (((jump)) ((-6 offset))) run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 9 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string-address) (deref)) ((4 integer))) mem: ((4 integer)) => 9 array-len: ((1182 string) (raw)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 8: 1192 => ((1 byte-address)) mem: ((1 byte-address)): 1385 <= 1192 run: clear-screen/init-fake-terminal/main 9: (((1 byte-address) (deref)) <- ((copy)) (( literal))) run: clear-screen/init-fake-terminal/main 9: #\space => ((1 byte-address) (deref)) mem: ((1 byte-address) (deref)): 1192 <= #\space run: clear-screen/init-fake-terminal/main 10: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 9 run: clear-screen/init-fake-terminal/main 10: 10 => ((4 integer)) mem: ((4 integer)): 1388 <= 10 run: clear-screen/init-fake-terminal/main 11: (((jump)) ((-6 offset))) run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 10 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string-address) (deref)) ((4 integer))) mem: ((4 integer)) => 10 array-len: ((1182 string) (raw)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 8: 1193 => ((1 byte-address)) mem: ((1 byte-address)): 1385 <= 1193 run: clear-screen/init-fake-terminal/main 9: (((1 byte-address) (deref)) <- ((copy)) (( literal))) run: clear-screen/init-fake-terminal/main 9: #\space => ((1 byte-address) (deref)) mem: ((1 byte-address) (deref)): 1193 <= #\space run: clear-screen/init-fake-terminal/main 10: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 10 run: clear-screen/init-fake-terminal/main 10: 11 => ((4 integer)) mem: ((4 integer)): 1388 <= 11 run: clear-screen/init-fake-terminal/main 11: (((jump)) ((-6 offset))) run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 11 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string-address) (deref)) ((4 integer))) mem: ((4 integer)) => 11 array-len: ((1182 string) (raw)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 8: 1194 => ((1 byte-address)) mem: ((1 byte-address)): 1385 <= 1194 run: clear-screen/init-fake-terminal/main 9: (((1 byte-address) (deref)) <- ((copy)) (( literal))) run: clear-screen/init-fake-terminal/main 9: #\space => ((1 byte-address) (deref)) mem: ((1 byte-address) (deref)): 1194 <= #\space run: clear-screen/init-fake-terminal/main 10: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 11 run: clear-screen/init-fake-terminal/main 10: 12 => ((4 integer)) mem: ((4 integer)): 1388 <= 12 run: clear-screen/init-fake-terminal/main 11: (((jump)) ((-6 offset))) run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 12 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string-address) (deref)) ((4 integer))) mem: ((4 integer)) => 12 array-len: ((1182 string) (raw)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 8: 1195 => ((1 byte-address)) mem: ((1 byte-address)): 1385 <= 1195 run: clear-screen/init-fake-terminal/main 9: (((1 byte-address) (deref)) <- ((copy)) (( literal))) run: clear-screen/init-fake-terminal/main 9: #\space => ((1 byte-address) (deref)) mem: ((1 byte-address) (deref)): 1195 <= #\space run: clear-screen/init-fake-terminal/main 10: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 12 run: clear-screen/init-fake-terminal/main 10: 13 => ((4 integer)) mem: ((4 integer)): 1388 <= 13 run: clear-screen/init-fake-terminal/main 11: (((jump)) ((-6 offset))) run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 13 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string-address) (deref)) ((4 integer))) mem: ((4 integer)) => 13 array-len: ((1182 string) (raw)) mem: ((1182 integer) (raw)) => 200 run: clear-screen/init-fake-terminal/main 8: 1196 => ((1 byte-address)) mem: ((1 byte-address)): 1385 <= 1196 run: clear-screen/init-fake-terminal/main 9: (((1 byte-address) (deref)) <- ((copy)) (( literal))) run: clear-screen/init-fake-terminal/main 9: #\space => ((1 byte-address) (deref)) mem: ((1 byte-address) (deref)): 1196 <= #\space run: clear-screen/init-fake-terminal/main 10: (((4 integer)) <- ((add)) ((4 integer)) ((1 literal))) mem: ((4 integer)) => 13 run: clear-screen/init-fake-terminal/main 10: 14 => ((4 integer)) mem: ((4 integer)): 1388 <= 14 run: clear-screen/init-fake-terminal/main 11: (((jump)) ((-6 offset))) run: clear-screen/init-fake-terminal/main 6: (((5 boolean)) <- ((greater-or-equal)) ((4 integer)) ((3 integer))) mem: ((4 integer)) => 14 mem: ((3 integer)) => 200 run: clear-screen/init-fake-terminal/main 6: nil => ((5 boolean)) mem: ((5 boolean)): 1389 <= nil run: clear-screen/init-fake-terminal/main 7: (((jump-if)) ((5 boolean)) ((4 offset))) mem: ((5 boolean)) => nil run: clear-screen/init-fake-terminal/main 8: (((1 byte-address)) <- ((index-address)) ((2 string- class="p">) { prof_connect(); stbbr_for_id("prof_join_4", "<presence id='prof_join_4' lang='en' to='stabber@localhost/profanity' from='testroom@conference.localhost/stabber'>" "<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' node='http://www.profanity.im' ver='*'/>" "<x xmlns='http://jabber.org/protocol/muc#user'>" "<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>" "</x>" "<status code='110'/>" "</presence>" ); prof_input("/join testroom@conference.localhost"); assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none")); stbbr_send( "<presence to='stabber@localhost/profanity' from='testroom@conference.localhost/testoccupant'>" "<x xmlns='http://jabber.org/protocol/muc#user'>" "<item role='participant' jid='someuser@someserver.org/work' affiliation='none'/>" "</x>" "</presence>" ); assert_true(prof_output_exact("-> testoccupant has joined the room, role: participant, affiliation: none")); } void shows_message(void **state) { prof_connect(); stbbr_for_id("prof_join_4", "<presence id='prof_join_4' lang='en' to='stabber@localhost/profanity' from='testroom@conference.localhost/stabber'>" "<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' node='http://www.profanity.im' ver='*'/>" "<x xmlns='http://jabber.org/protocol/muc#user'>" "<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>" "</x>" "<status code='110'/>" "</presence>" ); prof_input("/join testroom@conference.localhost"); assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none")); stbbr_send( "<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost/testoccupant'>" "<body>a new message</body>" "</message>" ); assert_true(prof_output_regex("testoccupant: .+a new message")); } void shows_all_messages_in_console_when_window_not_focussed(void **state) { prof_connect(); stbbr_for_id("prof_join_4", "<presence id='prof_join_4' lang='en' to='stabber@localhost/profanity' from='testroom@conference.localhost/stabber'>" "<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' node='http://www.profanity.im' ver='*'/>" "<x xmlns='http://jabber.org/protocol/muc#user'>" "<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>" "</x>" "<status code='110'/>" "</presence>" ); prof_input("/join testroom@conference.localhost"); assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none")); prof_input("/win 1"); assert_true(prof_output_exact("Profanity. Type /help for help information.")); stbbr_send( "<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost/testoccupant'>" "<body>a new message</body>" "</message>" ); assert_true(prof_output_exact("<< room message: testoccupant in testroom@conference.localhost (win 2)")); stbbr_send( "<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost/anotheroccupant'>" "<body>some other message</body>" "</message>" ); assert_true(prof_output_exact("<< room message: anotheroccupant in testroom@conference.localhost (win 2)")); } void shows_first_message_in_console_when_window_not_focussed(void **state) { prof_connect(); prof_input("/console muc first"); assert_true(prof_output_exact("Console MUC messages set: first")); stbbr_for_id("prof_join_4", "<presence id='prof_join_4' lang='en' to='stabber@localhost/profanity' from='testroom@conference.localhost/stabber'>" "<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' node='http://www.profanity.im' ver='*'/>" "<x xmlns='http://jabber.org/protocol/muc#user'>" "<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>" "</x>" "<status code='110'/>" "</presence>" ); prof_input("/join testroom@conference.localhost"); assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none")); prof_input("/win 1"); assert_true(prof_output_exact("Profanity. Type /help for help information.")); stbbr_send( "<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost/testoccupant'>" "<body>a new message</body>" "</message>" ); assert_true(prof_output_exact("<< room message: testroom@conference.localhost (win 2)")); prof_input("/clear"); prof_input("/about"); assert_true(prof_output_exact("Type '/help' to show complete help.")); stbbr_send( "<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost/anotheroccupant'>" "<body>some other message</body>" "</message>" ); prof_timeout(2); assert_false(prof_output_exact("<< room message: testroom@conference.localhost (win 2)")); prof_timeout_reset(); } void shows_no_message_in_console_when_window_not_focussed(void **state) { prof_connect(); prof_input("/console muc none"); assert_true(prof_output_exact("Console MUC messages set: none")); stbbr_for_id("prof_join_4", "<presence id='prof_join_4' lang='en' to='stabber@localhost/profanity' from='testroom@conference.localhost/stabber'>" "<c hash='sha-1' xmlns='http://jabber.org/protocol/caps' node='http://www.profanity.im' ver='*'/>" "<x xmlns='http://jabber.org/protocol/muc#user'>" "<item role='participant' jid='stabber@localhost/profanity' affiliation='none'/>" "</x>" "<status code='110'/>" "</presence>" ); prof_input("/join testroom@conference.localhost"); assert_true(prof_output_exact("-> You have joined the room as stabber, role: participant, affiliation: none")); prof_input("/win 1"); assert_true(prof_output_exact("Profanity. Type /help for help information.")); stbbr_send( "<message type='groupchat' to='stabber@localhost/profanity' from='testroom@conference.localhost/testoccupant'>" "<body>a new message</body>" "</message>" ); prof_timeout(2); assert_false(prof_output_exact("testroom@conference.localhost (win 2)")); prof_timeout_reset(); }