diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2014-07-24 12:24:45 +0200 |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2014-07-24 12:24:45 +0200 |
commit | 24ad98b98cfa9be1dc704c37a9538a8c0bc113e0 (patch) | |
tree | 5c4534c1d386773a6957c1c26d3a52eeefa57c7c /Lib/test/test_readline.py | |
parent | c78fd527670c312cb35fe959b42f350046424981 (diff) | |
parent | a3c80ce8b7d9ca17641f0bd8cce96791df084b19 (diff) | |
download | cpython-git-24ad98b98cfa9be1dc704c37a9538a8c0bc113e0.tar.gz |
(Merge 3.4) Issue #19884: readline: Disable the meta modifier key if stdout is
not a terminal to not write the ANSI sequence "\033[1034h" into stdout. This
sequence is used on some terminal (ex: TERM=xterm-256color") to enable support
of 8 bit characters.
Diffstat (limited to 'Lib/test/test_readline.py')
-rw-r--r-- | Lib/test/test_readline.py | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/Lib/test/test_readline.py b/Lib/test/test_readline.py index 5483dd31b8..8b778186f1 100644 --- a/Lib/test/test_readline.py +++ b/Lib/test/test_readline.py @@ -1,17 +1,20 @@ """ Very minimal unittests for parts of the readline module. - -These tests were added to check that the libedit emulation on OSX and -the "real" readline have the same interface for history manipulation. That's -why the tests cover only a small subset of the interface. """ +import os import unittest from test.support import run_unittest, import_module +from test.script_helper import assert_python_ok # Skip tests if there is no readline module readline = import_module('readline') class TestHistoryManipulation (unittest.TestCase): + """ + These tests were added to check that the libedit emulation on OSX and the + "real" readline have the same interface for history manipulation. That's + why the tests cover only a small subset of the interface. + """ @unittest.skipIf(not hasattr(readline, 'clear_history'), "The history update test cannot be run because the " @@ -40,8 +43,18 @@ class TestHistoryManipulation (unittest.TestCase): self.assertEqual(readline.get_current_history_length(), 1) +class TestReadline(unittest.TestCase): + def test_init(self): + # Issue #19884: Ensure that the ANSI sequence "\033[1034h" is not + # written into stdout when the readline module is imported and stdout + # is redirected to a pipe. + rc, stdout, stderr = assert_python_ok('-c', 'import readline', + TERM='xterm-256color') + self.assertEqual(stdout, b'') + + def test_main(): - run_unittest(TestHistoryManipulation) + run_unittest(TestHistoryManipulation, TestReadline) if __name__ == "__main__": test_main() |