[Python-checkins] cpython (3.2): Test for issue #13500

jesus.cea python-checkins at python.org
Sun Feb 19 03:55:10 CET 2012


http://hg.python.org/cpython/rev/3a40af30449e
changeset:   75025:3a40af30449e
branch:      3.2
parent:      75019:9ce5d456138b
user:        Jesus Cea <jcea at jcea.es>
date:        Sun Feb 19 03:54:29 2012 +0100
summary:
  Test for issue #13500

files:
  Lib/test/test_cmd.py |  29 +++++++++++++++++++++++++++++
  1 files changed, 29 insertions(+), 0 deletions(-)


diff --git a/Lib/test/test_cmd.py b/Lib/test/test_cmd.py
--- a/Lib/test/test_cmd.py
+++ b/Lib/test/test_cmd.py
@@ -180,6 +180,14 @@
         def do_EOF(self, args):
             return True
 
+
+    class simplecmd2(simplecmd):
+
+        def do_EOF(self, args):
+            print('*** Unknown syntax: EOF', file=self.stdout)
+            return True
+
+
     def test_file_with_missing_final_nl(self):
         input = io.StringIO("print test\nprint test2")
         output = io.StringIO()
@@ -192,6 +200,27 @@
              "(Cmd) "))
 
 
+    def test_input_reset_at_EOF(self):
+        input = io.StringIO("print test\nprint test2")
+        output = io.StringIO()
+        cmd = self.simplecmd2(stdin=input, stdout=output)
+        cmd.use_rawinput = False
+        cmd.cmdloop()
+        self.assertMultiLineEqual(output.getvalue(),
+            ("(Cmd) test\n"
+             "(Cmd) test2\n"
+             "(Cmd) *** Unknown syntax: EOF\n"))
+        input = io.StringIO("print \n\n")
+        output = io.StringIO()
+        cmd.stdin = input
+        cmd.stdout = output
+        cmd.cmdloop()
+        self.assertMultiLineEqual(output.getvalue(),
+            ("(Cmd) \n"
+             "(Cmd) \n"
+             "(Cmd) *** Unknown syntax: EOF\n"))
+
+
 def test_main(verbose=None):
     from test import test_cmd
     support.run_doctest(test_cmd, verbose)

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list