diff options
author | Kiss György <kissgyorgy@me.com> | 2014-08-26 18:01:03 +0200 |
---|---|---|
committer | Kiss György <kissgyorgy@me.com> | 2014-08-26 18:01:03 +0200 |
commit | 271a65165c17e803d2cd913abf725d4d78620fc5 (patch) | |
tree | 43cf7aa6093c811a490882c5aeb9d1ea8d0c315a /tests/test_utils.py | |
parent | 8aebc8b4164823b9c42db1701b5cd3453b3f530c (diff) | |
download | click-271a65165c17e803d2cd913abf725d4d78620fc5.tar.gz |
Tests for prompt-stderr. click.pause() fails
Diffstat (limited to 'tests/test_utils.py')
-rw-r--r-- | tests/test_utils.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/test_utils.py b/tests/test_utils.py index 7c9a394..237520d 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -151,6 +151,64 @@ def test_echo_color_flag(monkeypatch, capfd): assert out == text + '\n' +def test_echo_writing_to_standard_error(capfd, monkeypatch): + def emulate_input(text): + """Emulate keyboard input.""" + if sys.version_info[0] == 2: + from StringIO import StringIO + else: + from io import StringIO + monkeypatch.setattr(sys, 'stdin', StringIO(text)) + + click.echo('Echo to standard output') + out, err = capfd.readouterr() + assert out == 'Echo to standard output\n' + assert err == '' + + click.echo('Echo to standard error', err=True) + out, err = capfd.readouterr() + assert out == '' + assert err == 'Echo to standard error\n' + + emulate_input('asdlkj\n') + click.prompt('Prompt to stdin') + out, err = capfd.readouterr() + assert out == 'Prompt to stdin: ' + assert err == '' + + emulate_input('asdlkj\n') + click.prompt('Prompt to stderr', err=True) + out, err = capfd.readouterr() + assert out == '' + assert err == 'Prompt to stderr: ' + + emulate_input('y\n') + click.confirm('Prompt to stdin') + out, err = capfd.readouterr() + assert out == 'Prompt to stdin [y/N]: ' + assert err == '' + + emulate_input('y\n') + click.confirm('Prompt to stderr', err=True) + out, err = capfd.readouterr() + assert out == '' + assert err == 'Prompt to stderr [y/N]: ' + + monkeypatch.setattr(click._compat, 'isatty', lambda x: True) + + emulate_input(' ') + click.pause('Pause to stdin') + out, err = capfd.readouterr() + assert out == 'Pause to stdin' + assert err == '' + + emulate_input(' ') + click.pause('Pause to stderr', err=True) + out, err = capfd.readouterr() + assert out == '' + assert err == 'Pause to stderr' + + def test_open_file(runner): with runner.isolated_filesystem(): with open('hello.txt', 'w') as f: |