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

Skip to content

Commit 5283c4e

Browse files
committed
Issue #18592: Method return signature changes made to SearchDialogBase for
test purposes are now reflected in GrepDialog and ReplaceDialog. Docstrings are improved. Initial patch by Saimadhav Heblikar
1 parent 5d0d2e6 commit 5283c4e

4 files changed

Lines changed: 35 additions & 19 deletions

File tree

Lib/idlelib/GrepDialog.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ def open(self, text, searchphrase, io=None):
4545

4646
def create_entries(self):
4747
SearchDialogBase.create_entries(self)
48-
self.globent = self.make_entry("In files:", self.globvar)
48+
self.globent = self.make_entry("In files:", self.globvar)[0]
4949

5050
def create_other_buttons(self):
51-
f = self.make_frame()
51+
f = self.make_frame()[0]
5252

5353
btn = Checkbutton(f, anchor="w",
5454
variable=self.recvar,

Lib/idlelib/ReplaceDialog.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def open(self, text):
4040

4141
def create_entries(self):
4242
SearchDialogBase.create_entries(self)
43-
self.replent = self.make_entry("Replace with:", self.replvar)
43+
self.replent = self.make_entry("Replace with:", self.replvar)[0]
4444

4545
def create_command_buttons(self):
4646
SearchDialogBase.create_command_buttons(self)

Lib/idlelib/SearchDialogBase.py

Lines changed: 31 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -89,21 +89,29 @@ def create_widgets(self):
8989
self.create_other_buttons() # next row, cols 0, 1
9090
self.create_command_buttons() # col 2, all rows
9191

92-
def make_entry(self, label, var):
93-
"Return gridded labeled Entry."
94-
l = Label(self.top, text=label)
95-
l.grid(row=self.row, column=0, sticky="nw")
96-
e = Entry(self.top, textvariable=var, exportselection=0)
97-
e.grid(row=self.row, column=1, sticky="nwe")
92+
def make_entry(self, label_text, var):
93+
'''Return (entry, label), .
94+
95+
entry - gridded labeled Entry for text entry.
96+
label - Label widget, returned for testing.
97+
'''
98+
label = Label(self.top, text=label_text)
99+
label.grid(row=self.row, column=0, sticky="nw")
100+
entry = Entry(self.top, textvariable=var, exportselection=0)
101+
entry.grid(row=self.row, column=1, sticky="nwe")
98102
self.row = self.row + 1
99-
return l, e # return label for testing
103+
return entry, label
100104

101105
def create_entries(self):
102106
"Create one or more entry lines with make_entry."
103-
self.ent = self.make_entry("Find:", self.engine.patvar)[1]
107+
self.ent = self.make_entry("Find:", self.engine.patvar)[0]
104108

105109
def make_frame(self,labeltext=None):
106-
"Return gridded labeled Frame for option or other buttons."
110+
'''Return (frame, label).
111+
112+
frame - gridded labeled Frame for option or other buttons.
113+
label - Label widget, returned for testing.
114+
'''
107115
if labeltext:
108116
label = Label(self.top, text=labeltext)
109117
label.grid(row=self.row, column=0, sticky="nw")
@@ -112,10 +120,15 @@ def make_frame(self,labeltext=None):
112120
frame = Frame(self.top)
113121
frame.grid(row=self.row, column=1, columnspan=1, sticky="nwe")
114122
self.row = self.row + 1
115-
return frame, label # label for test
123+
return frame, label
116124

117125
def create_option_buttons(self):
118-
"Fill frame with Checkbuttons bound to SearchEngine booleanvars."
126+
'''Return (filled frame, options) for testing.
127+
128+
Options is a list of SearchEngine booleanvar, label pairs.
129+
A gridded frame from make_frame is filled with a Checkbutton
130+
for each pair, bound to the var, with the corresponding label.
131+
'''
119132
frame = self.make_frame("Options")[0]
120133
engine = self.engine
121134
options = [(engine.revar, "Regular expression"),
@@ -128,21 +141,24 @@ def create_option_buttons(self):
128141
btn.pack(side="left", fill="both")
129142
if var.get():
130143
btn.select()
131-
return frame, options # for test
144+
return frame, options
132145

133146
def create_other_buttons(self):
134-
"Fill frame with buttons tied to other options."
147+
'''Return (frame, others) for testing.
148+
149+
Others is a list of value, label pairs.
150+
A gridded frame from make_frame is filled with radio buttons.
151+
'''
135152
frame = self.make_frame("Direction")[0]
136153
var = self.engine.backvar
137154
others = [(1, 'Up'), (0, 'Down')]
138155
for val, label in others:
139156
btn = Radiobutton(frame, anchor="w",
140157
variable=var, value=val, text=label)
141158
btn.pack(side="left", fill="both")
142-
#print(var.get(), val, label)
143159
if var.get() == val:
144160
btn.select()
145-
return frame, others # for test
161+
return frame, others
146162

147163
def make_button(self, label, command, isdef=0):
148164
"Return command button gridded in command frame."

Lib/idlelib/idle_test/test_searchdialogbase.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def test_make_entry(self):
7575
equal = self.assertEqual
7676
self.dialog.row = 0
7777
self.dialog.top = Toplevel(self.root)
78-
label, entry = self.dialog.make_entry("Test:", 'hello')
78+
entry, label = self.dialog.make_entry("Test:", 'hello')
7979
equal(label['text'], 'Test:')
8080

8181
self.assertIn(entry.get(), 'hello')

0 commit comments

Comments
 (0)