Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r48250:0d404d07e902 Date: 2011-10-20 00:05 +0200 http://bitbucket.org/pypy/pypy/changeset/0d404d07e902/
Log: Also add the tests provided on issue917. diff --git a/pypy/module/__builtin__/test/test_builtin.py b/pypy/module/__builtin__/test/test_builtin.py --- a/pypy/module/__builtin__/test/test_builtin.py +++ b/pypy/module/__builtin__/test/test_builtin.py @@ -631,30 +631,6 @@ raises(TypeError, pr, end=3) raises(TypeError, pr, sep=42) - def test_raw_input(self): - import sys, StringIO - for prompt, expected in [("def:", "abc/ def:/ghi\n"), - ("", "abc/ /ghi\n"), - (42, "abc/ 42/ghi\n"), - (None, "abc/ None/ghi\n"), - (Ellipsis, "abc/ /ghi\n")]: - save = sys.stdin, sys.stdout - try: - sys.stdin = StringIO.StringIO("foo\nbar\n") - out = sys.stdout = StringIO.StringIO() - print "abc", # softspace = 1 - out.write('/') - if prompt is Ellipsis: - got = raw_input() - else: - got = raw_input(prompt) - out.write('/') - print "ghi" - finally: - sys.stdin, sys.stdout = save - assert out.getvalue() == expected - assert got == "foo" - def test_round(self): assert round(11.234) == 11.0 assert round(11.234, -1) == 10.0 diff --git a/pypy/module/__builtin__/test/test_rawinput.py b/pypy/module/__builtin__/test/test_rawinput.py new file mode 100644 --- /dev/null +++ b/pypy/module/__builtin__/test/test_rawinput.py @@ -0,0 +1,77 @@ +import autopath + + +class AppTestRawInput(): + + def test_raw_input(self): + import sys, StringIO + for prompt, expected in [("def:", "abc/ def:/ghi\n"), + ("", "abc/ /ghi\n"), + (42, "abc/ 42/ghi\n"), + (None, "abc/ None/ghi\n"), + (Ellipsis, "abc/ /ghi\n")]: + save = sys.stdin, sys.stdout + try: + sys.stdin = StringIO.StringIO("foo\nbar\n") + out = sys.stdout = StringIO.StringIO() + print "abc", # softspace = 1 + out.write('/') + if prompt is Ellipsis: + got = raw_input() + else: + got = raw_input(prompt) + out.write('/') + print "ghi" + finally: + sys.stdin, sys.stdout = save + assert out.getvalue() == expected + assert got == "foo" + + def test_softspace(self): + import sys + import StringIO + fin = StringIO.StringIO() + fout = StringIO.StringIO() + + fin.write("Coconuts\n") + fin.seek(0) + + sys_stdin_orig = sys.stdin + sys_stdout_orig = sys.stdout + + sys.stdin = fin + sys.stdout = fout + + print "test", + raw_input("test") + + sys.stdin = sys_stdin_orig + sys.stdout = sys_stdout_orig + + fout.seek(0) + assert fout.read() == "test test" + + def test_softspace_carryover(self): + import sys + import StringIO + fin = StringIO.StringIO() + fout = StringIO.StringIO() + + fin.write("Coconuts\n") + fin.seek(0) + + sys_stdin_orig = sys.stdin + sys_stdout_orig = sys.stdout + + sys.stdin = fin + sys.stdout = fout + + print "test", + raw_input("test") + print "test", + + sys.stdin = sys_stdin_orig + sys.stdout = sys_stdout_orig + + fout.seek(0) + assert fout.read() == "test testtest" _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit