source: titan/mediathek/localhoster/lib/python2.7/test/test_readline.py @ 40094

Last change on this file since 40094 was 40094, checked in by obi, 7 years ago

tithek add yoztube-dl support

File size: 2.4 KB
Line 
1"""
2Very minimal unittests for parts of the readline module.
3"""
4import os
5import unittest
6from test.test_support import run_unittest, import_module
7from test.script_helper import assert_python_ok
8
9# Skip tests if there is no readline module
10readline = import_module('readline')
11
12class TestHistoryManipulation (unittest.TestCase):
13    """These tests were added to check that the libedit emulation on OSX and
14    the "real" readline have the same interface for history manipulation.
15    That's why the tests cover only a small subset of the interface.
16    """
17
18    @unittest.skipUnless(hasattr(readline, "clear_history"),
19                         "The history update test cannot be run because the "
20                         "clear_history method is not available.")
21    def testHistoryUpdates(self):
22        readline.clear_history()
23
24        readline.add_history("first line")
25        readline.add_history("second line")
26
27        self.assertEqual(readline.get_history_item(0), None)
28        self.assertEqual(readline.get_history_item(1), "first line")
29        self.assertEqual(readline.get_history_item(2), "second line")
30
31        readline.replace_history_item(0, "replaced line")
32        self.assertEqual(readline.get_history_item(0), None)
33        self.assertEqual(readline.get_history_item(1), "replaced line")
34        self.assertEqual(readline.get_history_item(2), "second line")
35
36        self.assertEqual(readline.get_current_history_length(), 2)
37
38        readline.remove_history_item(0)
39        self.assertEqual(readline.get_history_item(0), None)
40        self.assertEqual(readline.get_history_item(1), "second line")
41
42        self.assertEqual(readline.get_current_history_length(), 1)
43
44
45class TestReadline(unittest.TestCase):
46
47    @unittest.skipIf(readline._READLINE_VERSION < 0x0600
48                     and "libedit" not in readline.__doc__,
49                     "not supported in this library version")
50    def test_init(self):
51        # Issue #19884: Ensure that the ANSI sequence "\033[1034h" is not
52        # written into stdout when the readline module is imported and stdout
53        # is redirected to a pipe.
54        rc, stdout, stderr = assert_python_ok('-c', 'import readline',
55                                              TERM='xterm-256color')
56        self.assertEqual(stdout, b'')
57
58
59def test_main():
60    run_unittest(TestHistoryManipulation, TestReadline)
61
62if __name__ == "__main__":
63    test_main()
Note: See TracBrowser for help on using the repository browser.