[pypy-commit] pyrepl msabramo/improve_test_readline: Make testing/test_readline.py more comprehensive

Marc Abramowitz noreply at buildbot.pypy.org
Tue Apr 15 16:00:11 CEST 2014


Author: Marc Abramowitz <marc at marc-abramowitz.com>
Branch: msabramo/improve_test_readline
Changeset: r254:5c157dca7fd8
Date: 2014-02-28 22:56 +0000
http://bitbucket.org/pypy/pyrepl/changeset/5c157dca7fd8/

Log:	Make testing/test_readline.py more comprehensive

diff --git a/testing/test_readline.py b/testing/test_readline.py
--- a/testing/test_readline.py
+++ b/testing/test_readline.py
@@ -1,6 +1,34 @@
 from pyrepl.readline import _ReadlineWrapper
 import os
 import pty
+import sys
+
+if sys.version_info < (3, ):
+    bytes_type = str
+    unicode_type = unicode
+else:
+    bytes_type = bytes
+    unicode_type = str
+
+
+def test_readline():
+    master, slave = pty.openpty()
+    readline_wrapper = _ReadlineWrapper(slave, slave)
+    os.write(master, b'input\n')
+
+    result = readline_wrapper.get_reader().readline()
+    assert result == b'input'
+    assert isinstance(result, bytes_type)
+
+
+def test_readline_returns_unicode():
+    master, slave = pty.openpty()
+    readline_wrapper = _ReadlineWrapper(slave, slave)
+    os.write(master, b'input\n')
+
+    result = readline_wrapper.get_reader().readline(returns_unicode=True)
+    assert result == 'input'
+    assert isinstance(result, unicode_type)
 
 
 def test_raw_input():
@@ -8,8 +36,6 @@
     readline_wrapper = _ReadlineWrapper(slave, slave)
     os.write(master, b'input\n')
 
-    result = readline_wrapper.get_reader().readline()
-    #result = readline_wrapper.raw_input('prompt:')
-    assert result == 'input'
-    # A bytes string on python2, a unicode string on python3.
-    assert isinstance(result, str)
+    result = readline_wrapper.raw_input('prompt:')
+    assert result == b'input'
+    assert isinstance(result, bytes_type)


More information about the pypy-commit mailing list