Author: Armin Rigo <[email protected]>
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
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit