Lines Matching defs:readline

2 Very minimal unittests for parts of the readline module.
15 # Skip tests if there is no readline module
16 readline = import_module('readline')
18 is_editline = readline.__doc__ and "libedit" in readline.__doc__
20 @unittest.skipUnless(hasattr(readline, "clear_history"),
26 "real" readline have the same interface for history manipulation. That's
31 readline.clear_history()
33 readline.add_history("first line")
34 readline.add_history("second line")
36 self.assertEqual(readline.get_history_item(0), None)
37 self.assertEqual(readline.get_history_item(1), "first line")
38 self.assertEqual(readline.get_history_item(2), "second line")
40 readline.replace_history_item(0, "replaced line")
41 self.assertEqual(readline.get_history_item(0), None)
42 self.assertEqual(readline.get_history_item(1), "replaced line")
43 self.assertEqual(readline.get_history_item(2), "second line")
45 self.assertEqual(readline.get_current_history_length(), 2)
47 readline.remove_history_item(0)
48 self.assertEqual(readline.get_history_item(0), None)
49 self.assertEqual(readline.get_history_item(1), "second line")
51 self.assertEqual(readline.get_current_history_length(), 1)
53 @unittest.skipUnless(hasattr(readline, "append_history_file"),
62 readline.clear_history()
63 readline.add_history("first line")
64 readline.add_history("second line")
65 readline.write_history_file(hfilename)
67 readline.clear_history()
68 self.assertEqual(readline.get_current_history_length(), 0)
70 readline.read_history_file(hfilename)
71 self.assertEqual(readline.get_current_history_length(), 2)
72 self.assertEqual(readline.get_history_item(1), "first line")
73 self.assertEqual(readline.get_history_item(2), "second line")
76 readline.append_history_file(1, hfilename)
77 readline.clear_history()
78 readline.read_history_file(hfilename)
79 self.assertEqual(readline.get_current_history_length(), 3)
80 self.assertEqual(readline.get_history_item(1), "first line")
81 self.assertEqual(readline.get_history_item(2), "second line")
82 self.assertEqual(readline.get_history_item(3), "second line")
87 readline.append_history_file(1, hfilename)
90 readline.write_history_file(hfilename)
93 readline.clear_history()
95 readline.add_history("entrée 1")
98 readline.add_history("entrée 2")
99 readline.replace_history_item(1, "entrée 22")
100 readline.write_history_file(TESTFN)
102 readline.clear_history()
103 readline.read_history_file(TESTFN)
107 readline.add_history("dummy")
108 self.assertEqual(readline.get_history_item(1), "entrée 1")
109 self.assertEqual(readline.get_history_item(2), "entrée 22")
114 @unittest.skipIf(readline._READLINE_VERSION < 0x0601 and not is_editline,
118 # written into stdout when the readline module is imported and stdout
120 rc, stdout, stderr = assert_python_ok('-c', 'import readline',
125 import readline
126 readline.set_auto_history({})
128 print("History length:", readline.get_current_history_length())
141 readline.add_history("\xEB\xEF")
145 script = r"""import readline
147 is_editline = readline.__doc__ and "libedit" in readline.__doc__
150 set_pre_input_hook = getattr(readline, "set_pre_input_hook", None)
157 readline.parse_and_bind(r'bind ^B ed-prev-char')
158 readline.parse_and_bind(r'bind "\t" rl_complete')
159 readline.parse_and_bind(r'bind -s ^A "{}"'.format(macro))
161 readline.parse_and_bind(r'Control-b: backward-char')
162 readline.parse_and_bind(r'"\t": complete')
163 readline.parse_and_bind(r'set disable-completion off')
164 readline.parse_and_bind(r'set show-all-if-ambiguous off')
165 readline.parse_and_bind(r'set show-all-if-unmodified off')
166 readline.parse_and_bind(r'Control-a: "{}"'.format(macro))
169 readline.insert_text(inserted)
170 readline.redisplay()
178 print("line", ascii(readline.get_line_buffer()))
179 print("indexes", readline.get_begidx(), readline.get_endidx())
186 readline.set_completer(completer)
191 readline.set_completion_display_matches_hook(display)
194 print("history", ascii(readline.get_history_item(1)))
206 if not is_editline and hasattr(readline, "set_pre_input_hook"):