Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3ff55a8

Browse files
committed
Issue #27732: Silence test_idle with dummy bell functions.
1 parent 40f70d1 commit 3ff55a8

10 files changed

Lines changed: 32 additions & 23 deletions

File tree

Lib/idlelib/autoexpand.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class AutoExpand:
3131

3232
def __init__(self, editwin):
3333
self.text = editwin.text
34+
self.bell = self.text.bell
3435
self.state = None
3536

3637
def expand_word_event(self, event):
@@ -46,14 +47,14 @@ def expand_word_event(self, event):
4647
words = self.getwords()
4748
index = 0
4849
if not words:
49-
self.text.bell()
50+
self.bell()
5051
return "break"
5152
word = self.getprevword()
5253
self.text.delete("insert - %d chars" % len(word), "insert")
5354
newword = words[index]
5455
index = (index + 1) % len(words)
5556
if index == 0:
56-
self.text.bell() # Warn we cycled around
57+
self.bell() # Warn we cycled around
5758
self.text.insert("insert", newword)
5859
curinsert = self.text.index("insert")
5960
curline = self.text.get("insert linestart", "insert lineend")
@@ -99,6 +100,7 @@ def getprevword(self):
99100
i = i-1
100101
return line[i:]
101102

103+
102104
if __name__ == '__main__':
103105
import unittest
104106
unittest.main('idlelib.idle_test.test_autoexpand', verbosity=2)

Lib/idlelib/idle_test/test_autoexpand.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ def setUpClass(cls):
2222
else:
2323
cls.text = Text()
2424
cls.auto_expand = AutoExpand(Dummy_Editwin(cls.text))
25+
cls.auto_expand.bell = lambda: None
2526

2627
@classmethod
2728
def tearDownClass(cls):
@@ -137,5 +138,6 @@ def test_other_expand_cases(self):
137138
new_state = self.auto_expand.state
138139
self.assertNotEqual(initial_state, new_state)
139140

141+
140142
if __name__ == '__main__':
141143
unittest.main(verbosity=2)

Lib/idlelib/idle_test/test_parenmatch.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,17 @@ def tearDownClass(cls):
3838
def tearDown(self):
3939
self.text.delete('1.0', 'end')
4040

41+
def get_parenmatch(self):
42+
pm = ParenMatch(self.editwin)
43+
pm.bell = lambda: None
44+
return pm
45+
4146
def test_paren_expression(self):
4247
"""
4348
Test ParenMatch with 'expression' style.
4449
"""
4550
text = self.text
46-
pm = ParenMatch(self.editwin)
51+
pm = self.get_parenmatch()
4752
pm.set_style('expression')
4853

4954
text.insert('insert', 'def foobar(a, b')
@@ -66,7 +71,7 @@ def test_paren_default(self):
6671
Test ParenMatch with 'default' style.
6772
"""
6873
text = self.text
69-
pm = ParenMatch(self.editwin)
74+
pm = self.get_parenmatch()
7075
pm.set_style('default')
7176

7277
text.insert('insert', 'def foobar(a, b')
@@ -86,7 +91,7 @@ def test_paren_corner(self):
8691
These cases force conditional expression and alternate paths.
8792
"""
8893
text = self.text
89-
pm = ParenMatch(self.editwin)
94+
pm = self.get_parenmatch()
9095

9196
text.insert('insert', '# this is a commen)')
9297
self.assertIsNone(pm.paren_closed_event('event'))
@@ -99,7 +104,7 @@ def test_paren_corner(self):
99104
self.assertIsNone(pm.paren_closed_event('event'))
100105

101106
def test_handle_restore_timer(self):
102-
pm = ParenMatch(self.editwin)
107+
pm = self.get_parenmatch()
103108
pm.restore_event = Mock()
104109
pm.handle_restore_timer(0)
105110
self.assertTrue(pm.restore_event.called)

Lib/idlelib/idle_test/test_replace.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from tkinter import Tk, Text
88
from idlelib.idle_test.mock_tk import Mbox
99
import idlelib.searchengine as se
10-
import idlelib.replace as rd
10+
from idlelib.replace import ReplaceDialog
1111

1212
orig_mbox = se.tkMessageBox
1313
showerror = Mbox.showerror
@@ -21,7 +21,8 @@ def setUpClass(cls):
2121
cls.root.withdraw()
2222
se.tkMessageBox = Mbox
2323
cls.engine = se.SearchEngine(cls.root)
24-
cls.dialog = rd.ReplaceDialog(cls.root, cls.engine)
24+
cls.dialog = ReplaceDialog(cls.root, cls.engine)
25+
cls.dialog.bell = lambda: None
2526
cls.dialog.ok = Mock()
2627
cls.text = Text(cls.root)
2728
cls.text.undo_block_start = Mock()
@@ -70,7 +71,6 @@ def test_replace_simple(self):
7071
# text found and replaced
7172
pv.set('a')
7273
rv.set('asdf')
73-
self.dialog.open(self.text)
7474
replace()
7575
equal(text.get('1.8', '1.12'), 'asdf')
7676

Lib/idlelib/idle_test/test_search.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def tearDownClass(cls):
2929
def setUp(self):
3030
self.engine = se.SearchEngine(self.root)
3131
self.dialog = sd.SearchDialog(self.root, self.engine)
32+
self.dialog.bell = lambda: None
3233
self.text = tk.Text(self.root)
3334
self.text.insert('1.0', 'Hello World!')
3435

@@ -38,6 +39,7 @@ def test_find_again(self):
3839

3940
self.engine.setpat('')
4041
self.assertFalse(self.dialog.find_again(text))
42+
self.dialog.bell = lambda: None
4143

4244
self.engine.setpat('Hello')
4345
self.assertTrue(self.dialog.find_again(text))

Lib/idlelib/idle_test/test_undo.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ def tearDownClass(cls):
2929

3030
def setUp(self):
3131
self.delegator = UndoDelegator()
32+
self.delegator.bell = Mock()
3233
self.percolator.insertfilter(self.delegator)
33-
self.delegator.bell = Mock(wraps=self.delegator.bell)
3434

3535
def tearDown(self):
3636
self.percolator.removefilter(self.delegator)

Lib/idlelib/parenmatch.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ def __init__(self, editwin):
6464
# and deactivate_restore (which calls event_delete).
6565
editwin.text.bind(self.RESTORE_VIRTUAL_EVENT_NAME,
6666
self.restore_event)
67+
self.bell = self.text.bell if self.BELL else lambda: None
6768
self.counter = 0
6869
self.is_restore_active = 0
6970
self.set_style(self.STYLE)
@@ -93,7 +94,7 @@ def flash_paren_event(self, event):
9394
indices = (HyperParser(self.editwin, "insert")
9495
.get_surrounding_brackets())
9596
if indices is None:
96-
self.warn_mismatched()
97+
self.bell()
9798
return
9899
self.activate_restore()
99100
self.create_tag(indices)
@@ -109,7 +110,7 @@ def paren_closed_event(self, event):
109110
return
110111
indices = hp.get_surrounding_brackets(_openers[closer], True)
111112
if indices is None:
112-
self.warn_mismatched()
113+
self.bell()
113114
return
114115
self.activate_restore()
115116
self.create_tag(indices)
@@ -124,10 +125,6 @@ def handle_restore_timer(self, timer_count):
124125
if timer_count == self.counter:
125126
self.restore_event()
126127

127-
def warn_mismatched(self):
128-
if self.BELL:
129-
self.text.bell()
130-
131128
# any one of the create_tag_XXX methods can be used depending on
132129
# the style
133130

Lib/idlelib/replace.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ def replace_all(self, event=None):
9595
text = self.text
9696
res = self.engine.search_text(text, prog)
9797
if not res:
98-
text.bell()
98+
self.bell()
9999
return
100100
text.tag_remove("sel", "1.0", "end")
101101
text.tag_remove("hit", "1.0", "end")
@@ -142,7 +142,7 @@ def do_find(self, ok=0):
142142
text = self.text
143143
res = self.engine.search_text(text, None, ok)
144144
if not res:
145-
text.bell()
145+
self.bell()
146146
return False
147147
line, m = res
148148
i, j = m.span()
@@ -204,8 +204,8 @@ def close(self, event=None):
204204

205205

206206
def _replace_dialog(parent): # htest #
207-
from tkinter import Toplevel, Text
208-
from tkiter.ttk import Button
207+
from tkinter import Toplevel, Text, END, SEL
208+
from tkinter.ttk import Button
209209

210210
box = Toplevel(parent)
211211
box.title("Test ReplaceDialog")

Lib/idlelib/search.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def find_again(self, text):
5151
selfirst = text.index("sel.first")
5252
sellast = text.index("sel.last")
5353
if selfirst == first and sellast == last:
54-
text.bell()
54+
self.bell()
5555
return False
5656
except TclError:
5757
pass
@@ -61,7 +61,7 @@ def find_again(self, text):
6161
text.see("insert")
6262
return True
6363
else:
64-
text.bell()
64+
self.bell()
6565
return False
6666

6767
def find_selection(self, text):

Lib/idlelib/searchbase.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ def create_widgets(self):
7979
top.wm_title(self.title)
8080
top.wm_iconname(self.icon)
8181
self.top = top
82+
self.bell = top.bell
8283

8384
self.row = 0
8485
self.top.grid_columnconfigure(0, pad=2, weight=0)
@@ -188,7 +189,7 @@ def __init__(self, parent):
188189
width,height, x,y = list(map(int, re.split('[x+]', parent.geometry())))
189190
self.top.geometry("+%d+%d" % (x + 40, y + 175))
190191

191-
def default_command(self): pass
192+
def default_command(self, dummy): pass
192193

193194
if __name__ == '__main__':
194195
import unittest

0 commit comments

Comments
 (0)