diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2014-07-24 10:23:56 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2014-07-24 10:23:56 (GMT) |
commit | a3c80ce8b7d9ca17641f0bd8cce96791df084b19 (patch) | |
tree | 9e52e9c5e68131d94587d974cf4609599650c5ed /Lib/test/test_readline.py | |
parent | cdb2c601db078e0af2fcca49341a7d17d603e500 (diff) | |
download | cpython-a3c80ce8b7d9ca17641f0bd8cce96791df084b19.zip cpython-a3c80ce8b7d9ca17641f0bd8cce96791df084b19.tar.gz cpython-a3c80ce8b7d9ca17641f0bd8cce96791df084b19.tar.bz2 |
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 5483dd3..8b77818 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() |