Test the show element command
[mudpy.git] / bin / test
index 37e8100..85aa3f3 100755 (executable)
--- a/bin/test
+++ b/bin/test
@@ -5,6 +5,7 @@
 # to use, copy, modify, and distribute this software is granted under
 # terms provided in the LICENSE file distributed with this software.
 
+import re
 import sys
 import telnetlib
 import time
@@ -156,6 +157,13 @@ test_admin_help = (
     (2, "This will save all active accounts", ""),
 )
 
+test_show_element = (
+    (2, "> ", "show element internal:counters"),
+    (2, "These are the properties of the \"internal:counters\" element "
+        "\(in.*data/internal\.yaml\"\):.*   \x1b\[32melapsed: "
+        "\x1b\[31m[0-9]+\x1b\[0m", ""),
+)
+
 test_show_log = (
     (2, "> ", "show log"),
     (2, "There are [0-9]+ log lines in memory and [0-9]+ at or above level "
@@ -182,6 +190,7 @@ dialogue = (
     (test_admin_setup, "admin account setup"),
     (test_admin_restriction, "restricted admin commands"),
     (test_admin_help, "admin help"),
+    (test_show_element, "show element"),
     (test_show_log, "show log"),
     (test_log_no_errors, "no errors logged"),
 )
@@ -198,7 +207,7 @@ for test, description in dialogue:
     for conversant, question, answer in test:
         print("luser%s waiting for: %s" % (conversant, question))
         index, match, received = lusers[conversant].expect(
-            [question.encode("utf-8")], 5)
+            [re.compile(question.encode("utf-8"), flags=re.DOTALL)], 5)
         captures[conversant] += received.decode("utf-8")
         try:
             captures[conversant] += lusers[