X-Git-Url: https://mudpy.org/gitweb?p=mudpy.git;a=blobdiff_plain;f=mudpy%2Ftests%2Fselftest.py;h=d98755a552af1f61c1e776f8c6f9ad537777ce2b;hp=055e50a84c13464c9b29fd8b12c648cc74ed3737;hb=641a045ea5407a56626c7ea718efc7bbf5152ba1;hpb=c01384b805b4b52135264015e35011431710a659 diff --git a/mudpy/tests/selftest.py b/mudpy/tests/selftest.py index 055e50a..d98755a 100644 --- a/mudpy/tests/selftest.py +++ b/mudpy/tests/selftest.py @@ -111,6 +111,11 @@ test_forbid_ansi_input = ( (1, r'says, "\[35mfoo\[0m\."', ""), ) +test_escape_macros = ( + (0, '> ', "say $(red)bar$(nrm)"), + (1, r'says, "\$\(red\)bar\$\(nrm\)."', ""), +) + test_movement = ( (0, "> ", "move north"), (0, r"You exit to the north\.", ""), @@ -160,9 +165,9 @@ test_admin_setup = ( test_preferences = ( (0, "> ", "preferences"), - (0, r"prompt \x1b\[32m.*> ", "preferences prompt #"), - (0, r"# ", "preferences prompt"), - (0, r"#.*# ", "preferences prompt >"), + (0, r"prompt \x1b\[32m.*> ", "preferences prompt $(foo)"), + (0, r"\$\(foo\) ", "preferences prompt"), + (0, r"\$\(foo\).*\$\(foo\) ", "preferences prompt >"), (2, "> ", "preferences loglevel 0"), (2, "> ", "preferences"), (2, r"loglevel \x1b\[32m0\x1b\[0m.*> ", "preferences loglevel zero"), @@ -181,7 +186,7 @@ test_telnet_iac = ( # unescaped and deduplicated to a single \xff in the buffer and then # the line of input discarded as a non-ASCII sequence (2, "> ", b"say argle\xff\xffbargle\r\0"), - (2, r"Non-ASCII characters from admin: b'say argle\\xffbargle'.*> ", ""), + (2, r"Non-ASCII characters from admin: b'say.*argle\\xffbargle'.*> ", ""), ) test_telnet_unknown_command = ( @@ -316,6 +321,7 @@ dialogue = ( (test_chat_mode, "chat mode"), (test_wrapping, "wrapping"), (test_forbid_ansi_input, "raw escape input is filtered"), + (test_escape_macros, "replacement macros are escaped"), (test_movement, "movement"), (test_actor_disappears, "actor spontaneous disappearance"), (test_account1_teardown, "second account teardown"), @@ -432,9 +438,9 @@ def option_callback(telnet_socket, command, option): # any response to avoid endlessly looping pass elif command in (telnetlib.DO, telnetlib.DONT): - telnet_socket.send(b"%s%s%s" % (telnetlib.IAC, telnetlib.WONT, option)) + telnet_socket.send(telnetlib.IAC + telnetlib.WONT + option) elif command in (telnetlib.WILL, telnetlib.WONT): - telnet_socket.send(b"%s%s%s" % (telnetlib.IAC, telnetlib.DONT, option)) + telnet_socket.send(telnetlib.IAC + telnetlib.DONT + option) def main(): @@ -475,7 +481,7 @@ def main(): conversant].read_very_eager().decode("utf-8") except Exception: pass - if index is not 0: + if index != 0: tlog("\nERROR: luser%s did not receive expected string:\n\n" "%s\n\n" "Check the end of capture_%s.log for received data."