Test for issue #13500

This commit is contained in:
Jesus Cea 2012-02-19 03:54:08 +01:00
parent c5df563041
commit 6e250998b6
1 changed files with 29 additions and 0 deletions

View File

@ -182,6 +182,14 @@ class TestAlternateInput(unittest.TestCase):
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 = StringIO.StringIO("print test\nprint test2")
output = StringIO.StringIO()
@ -194,6 +202,27 @@ class TestAlternateInput(unittest.TestCase):
"(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
test_support.run_doctest(test_cmd, verbose)