diff options
author | Terry Jan Reedy <tjreedy@udel.edu> | 2016-05-17 18:18:37 -0400 |
---|---|---|
committer | Terry Jan Reedy <tjreedy@udel.edu> | 2016-05-17 18:18:37 -0400 |
commit | b236fe45150ed41e5e052537dc6a213286b9d967 (patch) | |
tree | c6aef5969a95b129f3872a97b87c3ad2694735e2 /Lib/idlelib/SearchDialog.py | |
parent | c710826ef211cf981543eeebe9b9203bd89e02da (diff) | |
download | cpython-git-b236fe45150ed41e5e052537dc6a213286b9d967.tar.gz |
Issue #18410: Test IDLE's search dialog; original patch by Westley MartÃnez.
Diffstat (limited to 'Lib/idlelib/SearchDialog.py')
-rw-r--r-- | Lib/idlelib/SearchDialog.py | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/Lib/idlelib/SearchDialog.py b/Lib/idlelib/SearchDialog.py index 77ef7b9a82..765d53fe92 100644 --- a/Lib/idlelib/SearchDialog.py +++ b/Lib/idlelib/SearchDialog.py @@ -4,6 +4,7 @@ from idlelib import SearchEngine from idlelib.SearchDialogBase import SearchDialogBase def _setup(text): + "Create or find the singleton SearchDialog instance." root = text._root() engine = SearchEngine.get(root) if not hasattr(engine, "_searchdialog"): @@ -11,13 +12,16 @@ def _setup(text): return engine._searchdialog def find(text): + "Handle the editor edit menu item and corresponding event." pat = text.get("sel.first", "sel.last") - return _setup(text).open(text,pat) + return _setup(text).open(text, pat) # Open is inherited from SDBase. def find_again(text): + "Handle the editor edit menu item and corresponding event." return _setup(text).find_again(text) def find_selection(text): + "Handle the editor edit menu item and corresponding event." return _setup(text).find_selection(text) class SearchDialog(SearchDialogBase): @@ -66,24 +70,28 @@ class SearchDialog(SearchDialogBase): self.engine.setcookedpat(pat) return self.find_again(text) -def _search_dialog(parent): - root = Tk() - root.title("Test SearchDialog") + +def _search_dialog(parent): # htest # + '''Display search test box.''' + box = Toplevel(parent) + box.title("Test SearchDialog") width, height, x, y = list(map(int, re.split('[x+]', parent.geometry()))) - root.geometry("+%d+%d"%(x, y + 150)) - text = Text(root) + box.geometry("+%d+%d"%(x, y + 150)) + text = Text(box, inactiveselectbackground='gray') text.pack() - text.insert("insert","This is a sample string.\n"*10) + text.insert("insert","This is a sample string.\n"*5) def show_find(): text.tag_add(SEL, "1.0", END) - s = _setup(text) - s.open(text) + _setup(text).open(text) text.tag_remove(SEL, "1.0", END) - button = Button(root, text="Search", command=show_find) + button = Button(box, text="Search (selection ignored)", command=show_find) button.pack() if __name__ == '__main__': + import unittest + unittest.main('idlelib.idle_test.test_searchdialog', + verbosity=2, exit=False) from idlelib.idle_test.htest import run run(_search_dialog) |