Test sentence capitalization
[mudpy.git] / bin / test
index 23eaf35..76cebe0 100755 (executable)
--- a/bin/test
+++ b/bin/test
@@ -34,6 +34,52 @@ dialogue = (
     # Actor appears from nowhere
     (0, "You suddenly realize that .* is here\.", ""),
 
+    # Explicit punctuation
+    (0, "> ", "say Hello there!"),
+    (0, 'You exclaim, "Hello there\!"', ""),
+    (1, 'exclaims, "Hello there\!"', "say And you are?"),
+    (1, 'You ask, "And you are\?"', ""),
+    (0, 'asks, "And you are\?"', "say I'm me, of course."),
+    (0, 'You say, "I\'m me, of course\."', ""),
+    (1, 'says, "I\'m me, of course\."', "say I wouldn't be so sure..."),
+    (1, 'You muse, "I wouldn\'t be so sure\.\.\."', ""),
+    (0, 'muses, "I wouldn\'t be so sure\.\.\."', "say You mean,"),
+    (0, 'You begin, "You mean,"', ""),
+    (1, 'begins, "You mean,"', "say I know-"),
+    (1, 'You begin, "I know-"', ""),
+    (0, 'begins, "I know-"', "say Don't interrupt:"),
+    (0, 'You begin, "Don\'t interrupt:"', ""),
+    (1, 'begins, "Don\'t interrupt:"', "say I wasn't interrupting;"),
+    (1, 'You begin, "I wasn\'t interrupting;"', ""),
+    (0, 'begins, "I wasn\'t interrupting;"', ""),
+
+    # Implicit punctuation
+    (0, '> ', "say Whatever"),
+    (0, 'You say, "Whatever."', ""),
+    (1, 'says, "Whatever."', ""),
+
+    # Typo replacement
+    (1, '> ', "say That's what i think."),
+    (1, 'You say, "That\'s what I think."', ""),
+    (0, 'says, "That\'s what I think."', "say You know what i'd like."),
+    (0, 'You say, "You know what I\'d like."', ""),
+    (1, 'says, "You know what I\'d like."', "say Then i'll tell you."),
+    (1, 'You say, "Then I\'ll tell you."', ""),
+    (0, 'says, "Then I\'ll tell you."', "say Now i'm ready."),
+    (0, 'You say, "Now I\'m ready."', ""),
+    (1, 'says, "Now I\'m ready."', "say That's teh idea."),
+    (1, 'You say, "That\'s the idea."', ""),
+    (0, 'says, "That\'s the idea."', "say It's what theyre saying."),
+    (0, 'You say, "It\'s what they\'re saying."', ""),
+    (1, 'says, "It\'s what they\'re saying."', "say Well, youre right."),
+    (1, 'You say, "Well, you\'re right."', ""),
+    (0, 'says, "Well, you\'re right."', ""),
+
+    # Sentence capitalization
+    (0, "> ", "say this sentence should start with a capital T."),
+    (0, 'You say, "This sentence', ""),
+    (1, 'says, "This sentence', ""),
+
     # Actor disappears
     (1, "> ", "quit"),
     (0, "You suddenly wonder where .* went\.", ""),
@@ -66,6 +112,11 @@ for conversant, question, answer in dialogue:
     index, match, received = lusers[conversant].expect(
         [question.encode("utf-8")], 5)
     captures[conversant] += received.decode("utf-8")
+    try:
+        captures[conversant] += lusers[
+            conversant].read_very_eager().decode("utf-8")
+    except:
+        pass
     if index is not 0:
         print("ERROR: luser%s did not receive expected string:\n\n%s"
               % (conversant, question))