-# Copyright (c) 2004-2018 Jeremy Stanley <fungi@yuggoth.org>. Permission
-# to use, copy, modify, and distribute this software is granted under
-# terms provided in the LICENSE file distributed with this software.
+# Copyright (c) 2004-2019 mudpy authors. Permission to use, copy,
+# modify, and distribute this software is granted under terms
+# provided in the LICENSE file distributed with this software.
import os
import pathlib
(2, "Whom would you like to awaken?", ""),
)
+test_preferences = (
+ (0, "> ", "preferences"),
+ (0, r"prompt \x1b\[32m.*> ", "preferences prompt #"),
+ (0, r"# ", "preferences prompt"),
+ (0, r"#.*# ", "preferences prompt >"),
+ (2, "> ", "preferences loglevel 0"),
+ (2, "> ", "preferences"),
+ (2, r"loglevel \x1b\[32m0\x1b\[0m.*> ", "preferences loglevel zero"),
+ (2, r'''cannot be set to type "<class 'str'>"\..*> ''', ""),
+)
+
test_crlf_eol = (
# Send a CR+LF at the end of the line instead of the default CR+NUL,
# to make sure they're treated the same
# Send an unsupported negotiation command #127 which should get filtered
# from the line of input
(2, "> ", b"say glop\xff\x7fglyf\r\0"),
- (2, r'Unknown Telnet IAC command 127 ignored\..*"Glopglyf\.".*> ', ""),
+ (2, r'Ignored unknown command 127 from admin\..*"Glopglyf\.".*> ', ""),
)
test_admin_restriction = (
(test_actor_disappears, "actor spontaneous disappearance"),
(test_account1_teardown, "second account teardown"),
(test_admin_setup, "admin account setup"),
+ (test_preferences, "set and show preferences"),
(test_crlf_eol, "send crlf from the client as eol"),
(test_telnet_iac, "escape stray telnet iac bytes"),
(test_telnet_unknown, "strip unknown telnet command"),
os.remove(f.name)
for d in ("data", "var"):
shutil.rmtree(d, ignore_errors=True)
- os.mkdir("var")
# Start the service and wait for it to be ready for connections
service = subprocess.Popen(("mudpy", config),