Filter non-ASCII input when not in binary mode
[mudpy.git] / mudpy / tests / selftest.py
index 06cdbab..e120e70 100644 (file)
@@ -96,6 +96,11 @@ test_chat_mode = (
     (0, r'says, "Now less chatty\."', ""),
 )
 
+test_wrapping = (
+    (0, '> ', "say " + 100 * "o"),
+    (1, r'says,\r\n"O[o]+\."', ""),
+)
+
 test_movement = (
     (0, "> ", "move north"),
     (0, r"You exit to the north\.", ""),
@@ -146,9 +151,9 @@ test_admin_setup = (
 test_telnet_iac = (
     # Send a double (escaped) IAC byte within other text, which should get
     # unescaped and deduplicated to a single \xff in the buffer and then
-    # the line of input discarded as a non-UTF-8 sequence
+    # the line of input discarded as a non-ASCII sequence
     (2, "> ", b"say argle\xff\xffbargle\r\n"),
-    (2, r"Non-UTF-8 sequence from admin: b'say argle\\xffbargle'.*> ", ""),
+    (2, r"Non-ASCII characters from admin: b'say argle\\xffbargle'.*> ", ""),
 )
 
 test_telnet_unknown = (
@@ -186,6 +191,11 @@ test_set_refused = (
     (2, r'The "mudpy\.limit" element is kept in read-only file', ""),
 )
 
+test_show_version = (
+    (2, "> ", "show version"),
+    (2, r"Running mudpy .* on .* Python 3.*with.*pyyaml.*> ", ""),
+)
+
 test_show_files = (
     (2, "> ", "show files"),
     (2, r'These are the current files containing the universe:.*'
@@ -252,6 +262,7 @@ dialogue = (
     (test_typo_replacement, "typo replacement"),
     (test_sentence_capitalization, "sentence capitalization"),
     (test_chat_mode, "chat mode"),
+    (test_wrapping, "wrapping"),
     (test_movement, "movement"),
     (test_actor_disappears, "actor spontaneous disappearance"),
     (test_account1_teardown, "second account teardown"),
@@ -263,6 +274,7 @@ dialogue = (
     (test_reload, "reload"),
     (test_set_facet, "set facet"),
     (test_set_refused, "refuse altering read-only element"),
+    (test_show_version, "show version and diagnostic info"),
     (test_show_files, "show a list of loaded files"),
     (test_show_file, "show nodes from a specific file"),
     (test_show_groups, "show groups"),