[pypy-commit] pypy default: Test and trivial fix.

arigo noreply at buildbot.pypy.org
Fri Oct 21 23:27:31 CEST 2011


Author: Armin Rigo <arigo at tunes.org>
Branch: 
Changeset: r48326:a1b22fb6a092
Date: 2011-10-21 23:26 +0200
http://bitbucket.org/pypy/pypy/changeset/a1b22fb6a092/

Log:	Test and trivial fix.

diff --git a/pypy/module/__builtin__/app_io.py b/pypy/module/__builtin__/app_io.py
--- a/pypy/module/__builtin__/app_io.py
+++ b/pypy/module/__builtin__/app_io.py
@@ -71,7 +71,7 @@
         return line[:-1]
     return line
 
-def input(prompt=None):
+def input(prompt=''):
     """Equivalent to eval(raw_input(prompt))."""
     return eval(raw_input(prompt))
 
diff --git a/pypy/module/__builtin__/test/test_rawinput.py b/pypy/module/__builtin__/test/test_rawinput.py
--- a/pypy/module/__builtin__/test/test_rawinput.py
+++ b/pypy/module/__builtin__/test/test_rawinput.py
@@ -3,29 +3,32 @@
 
 class AppTestRawInput():
 
-    def test_raw_input(self):
+    def test_input_and_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"
+            for inputfn, inputtext, gottext in [
+                    (raw_input, "foo\nbar\n", "foo"),
+                    (input, "40+2\n", 42)]:
+                save = sys.stdin, sys.stdout
+                try:
+                    sys.stdin = StringIO.StringIO(inputtext)
+                    out = sys.stdout = StringIO.StringIO()
+                    print "abc",    # softspace = 1
+                    out.write('/')
+                    if prompt is Ellipsis:
+                        got = inputfn()
+                    else:
+                        got = inputfn(prompt)
+                    out.write('/')
+                    print "ghi"
+                finally:
+                    sys.stdin, sys.stdout = save
+                assert out.getvalue() == expected
+                assert got == gottext
 
     def test_softspace(self):
         import sys


More information about the pypy-commit mailing list