|
1 | 1 | from pyrepl.readline import _ReadlineWrapper
|
2 | 2 | import os
|
3 | 3 | import pty
|
| 4 | +import sys |
4 | 5 |
|
| 6 | +if sys.version_info < (3, ): |
| 7 | + bytes_type = str |
| 8 | + unicode_type = unicode |
| 9 | +else: |
| 10 | + bytes_type = bytes |
| 11 | + unicode_type = str |
5 | 12 |
|
6 |
| -def test_raw_input(): |
| 13 | + |
| 14 | +def test_readline(): |
7 | 15 | master, slave = pty.openpty()
|
8 | 16 | readline_wrapper = _ReadlineWrapper(slave, slave)
|
9 | 17 | os.write(master, b'input\n')
|
10 | 18 |
|
11 | 19 | result = readline_wrapper.get_reader().readline()
|
12 |
| - #result = readline_wrapper.raw_input('prompt:') |
| 20 | + assert result == b'input' |
| 21 | + assert isinstance(result, bytes_type) |
| 22 | + |
| 23 | + |
| 24 | +def test_readline_returns_unicode(): |
| 25 | + master, slave = pty.openpty() |
| 26 | + readline_wrapper = _ReadlineWrapper(slave, slave) |
| 27 | + os.write(master, b'input\n') |
| 28 | + |
| 29 | + result = readline_wrapper.get_reader().readline(returns_unicode=True) |
13 | 30 | assert result == 'input'
|
14 |
| - # A bytes string on python2, a unicode string on python3. |
15 |
| - assert isinstance(result, str) |
| 31 | + assert isinstance(result, unicode_type) |
| 32 | + |
| 33 | + |
| 34 | +def test_raw_input(): |
| 35 | + master, slave = pty.openpty() |
| 36 | + readline_wrapper = _ReadlineWrapper(slave, slave) |
| 37 | + os.write(master, b'input\n') |
| 38 | + |
| 39 | + result = readline_wrapper.raw_input('prompt:') |
| 40 | + assert result == b'input' |
| 41 | + assert isinstance(result, bytes_type) |
0 commit comments