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

Reply via email to