Skip to content

[3.11] gh-66819: More IDLE htest updates(4) (GH-112686) #112689

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Lib/idlelib/browser.py
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,7 @@ def closure():
class Nested_in_closure: pass
ModuleBrowser(parent, file, _htest=True)


if __name__ == "__main__":
if len(sys.argv) == 1: # If pass file on command line, unittest fails.
from unittest import main
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/calltip_w.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ def calltip_hide(event):

text.focus_set()


if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_calltip_w', verbosity=2, exit=False)
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -906,6 +906,7 @@ def dumpCfg(cfg):
dumpCfg(idleConf.userCfg)
print('\nlines = ', line, ', crc = ', crc, sep='')


if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_config', verbosity=2, exit=False)
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/debugobj.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ def _debug_object_browser(parent): # htest #
node = TreeNode(sc.canvas, None, item)
node.update()


if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_debugobj', verbosity=2, exit=False)
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/delegator.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ def setdelegate(self, delegate):
self.resetcache()
self.delegate = delegate


if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_delegator', verbosity=2)
2 changes: 2 additions & 0 deletions Lib/idlelib/dynoption.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ def SetMenu(self,valueList,value=None):
if value:
self.variable.set(value)


def _dyn_option_menu(parent): # htest #
from tkinter import Toplevel # + StringVar, Button

Expand All @@ -49,6 +50,7 @@ def update():
button = Button(top, text="Change option set", command=update)
button.pack()


if __name__ == '__main__':
# Only module without unittests because of intention to replace.
from idlelib.idle_test.htest import run
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/editor.py
Original file line number Diff line number Diff line change
Expand Up @@ -1748,6 +1748,7 @@ def _editor_window(parent): # htest #
# Does not stop error, neither does following
# edit.text.bind("<<close-window>>", edit.close_event)


if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_editor', verbosity=2, exit=False)
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/filelist.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ def _test(): # TODO check and convert to htest
if flist.inversedict:
root.mainloop()


if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_filelist', verbosity=2)
Expand Down
6 changes: 4 additions & 2 deletions Lib/idlelib/grep.py
Original file line number Diff line number Diff line change
Expand Up @@ -204,15 +204,17 @@ def _grep_dialog(parent): # htest #
frame.pack()
text = Text(frame, height=5)
text.pack()
text.insert('1.0', 'import grep')

def show_grep_dialog():
text.tag_add(SEL, "1.0", END)
text.tag_add(SEL, "1.0", '1.end')
grep(text, flist=flist)
text.tag_remove(SEL, "1.0", END)
text.tag_remove(SEL, "1.0", '1.end')

button = Button(frame, text="Show GrepDialog", command=show_grep_dialog)
button.pack()


if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_grep', verbosity=2, exit=False)
Expand Down
2 changes: 2 additions & 0 deletions Lib/idlelib/help.py
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,7 @@ def copy_strip():
out.write(line.rstrip() + b'\n')
print(f'{src} copied to {dst}')


def _helpwindow(parent):
"Create HelpWindow; called from Idle Help event handler."
filename = join(abspath(dirname(__file__)), 'help.html')
Expand All @@ -286,6 +287,7 @@ def _helpwindow(parent):
return
HelpWindow(parent, filename, 'IDLE Help (%s)' % python_version())


if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_help', verbosity=2, exit=False)
Expand Down
60 changes: 30 additions & 30 deletions Lib/idlelib/idle_test/htest.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,8 +170,8 @@
'msg': "Click the 'Show GrepDialog' button.\n"
"Test the various 'Find-in-files' functions.\n"
"The results should be displayed in a new '*Output*' window.\n"
"'Right-click'->'Go to file/line' anywhere in the search results "
"should open that file \nin a new EditorWindow."
"'Right-click'->'Go to file/line' in the search results\n "
"should open that file in a new EditorWindow."
}

HelpSource_spec = {
Expand Down Expand Up @@ -210,26 +210,6 @@
"Check that changes were saved by opening the file elsewhere."
}

_linenumbers_drag_scrolling_spec = {
'file': 'sidebar',
'kwds': {},
'msg': textwrap.dedent("""\
1. Click on the line numbers and drag down below the edge of the
window, moving the mouse a bit and then leaving it there for a
while. The text and line numbers should gradually scroll down,
with the selection updated continuously.

2. With the lines still selected, click on a line number above
or below the selected lines. Only the line whose number was
clicked should be selected.

3. Repeat step #1, dragging to above the window. The text and
line numbers should gradually scroll up, with the selection
updated continuously.

4. Repeat step #2, clicking a line number below the selection."""),
}

_multi_call_spec = {
'file': 'multicall',
'kwds': {},
Expand Down Expand Up @@ -295,6 +275,15 @@
"Click [Close] or [X] to close the 'Replace Dialog'."
}

_scrolled_list_spec = {
'file': 'scrolledlist',
'kwds': {},
'msg': "You should see a scrollable list of items\n"
"Selecting (clicking) or double clicking an item "
"prints the name to the console or Idle shell.\n"
"Right clicking an item will display a popup."
}

_search_dialog_spec = {
'file': 'search',
'kwds': {},
Expand All @@ -310,21 +299,31 @@
"Its only action is to close."
}

_scrolled_list_spec = {
'file': 'scrolledlist',
_sidebar_number_scrolling_spec = {
'file': 'sidebar',
'kwds': {},
'msg': "You should see a scrollable list of items\n"
"Selecting (clicking) or double clicking an item "
"prints the name to the console or Idle shell.\n"
"Right clicking an item will display a popup."
'msg': textwrap.dedent("""\
1. Click on the line numbers and drag down below the edge of the
window, moving the mouse a bit and then leaving it there for a
while. The text and line numbers should gradually scroll down,
with the selection updated continuously.

2. With the lines still selected, click on a line number above
or below the selected lines. Only the line whose number was
clicked should be selected.

3. Repeat step #1, dragging to above the window. The text and
line numbers should gradually scroll up, with the selection
updated continuously.

4. Repeat step #2, clicking a line number below the selection."""),
}

_stackbrowser_spec = {
'file': 'stackviewer',
'kwds': {},
'msg': "A stacktrace for a NameError exception.\n"
"Expand 'idlelib ...' and '<locals>'.\n"
"Check that exc_value, exc_tb, and exc_type are correct.\n"
"Should have NameError and 1 traceback line."
}

_tooltip_spec = {
Expand Down Expand Up @@ -438,5 +437,6 @@ def close(_=None):
next_test()
root.mainloop()


if __name__ == '__main__':
run()
2 changes: 2 additions & 0 deletions Lib/idlelib/iomenu.py
Original file line number Diff line number Diff line change
Expand Up @@ -393,6 +393,7 @@ def updaterecentfileslist(self,filename):
if self.editwin.flist:
self.editwin.update_recent_files_list(filename)


def _io_binding(parent): # htest #
from tkinter import Toplevel, Text

Expand Down Expand Up @@ -430,6 +431,7 @@ def savecopy(self, event):
editwin = MyEditWin(text)
IOBinding(editwin)


if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_iomenu', verbosity=2, exit=False)
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/multicall.py
Original file line number Diff line number Diff line change
Expand Up @@ -442,6 +442,7 @@ def handler(event):
bindseq("<Enter>")
bindseq("<Leave>")


if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_mainmenu', verbosity=2, exit=False)
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/outwin.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ def setup(self):
text.tag_raise('sel')
self.write = self.owin.write


if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_outwin', verbosity=2, exit=False)
2 changes: 2 additions & 0 deletions Lib/idlelib/percolator.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,13 +103,15 @@ def toggle2():
(pin if var2.get() else pout)(t2)

text.pack()
text.focus_set()
var1 = tk.IntVar(parent)
cb1 = tk.Checkbutton(top, text="Tracer1", command=toggle1, variable=var1)
cb1.pack()
var2 = tk.IntVar(parent)
cb2 = tk.Checkbutton(top, text="Tracer2", command=toggle2, variable=var2)
cb2.pack()


if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_percolator', verbosity=2, exit=False)
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/pyshell.py
Original file line number Diff line number Diff line change
Expand Up @@ -1694,6 +1694,7 @@ def main():
root.destroy()
capture_warnings(False)


if __name__ == "__main__":
main()

Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/redirector.py
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ def my_insert(*args):
original_insert(*args)
original_insert = redir.register("insert", my_insert)


if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_redirector', verbosity=2, exit=False)
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/replace.py
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,7 @@ def show_replace():
button = Button(frame, text="Replace", command=show_replace)
button.pack()


if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_replace', verbosity=2, exit=False)
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/scrolledlist.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ def on_double(self, index): print("double", self.get(index))
for i in range(30):
scrolled_list.append("Item %02d" % i)


if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_scrolledlist', verbosity=2, exit=False)
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/search.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ def show_find():
button = Button(frame, text="Search (selection ignored)", command=show_find)
button.pack()


if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_search', verbosity=2, exit=False)
Expand Down
4 changes: 2 additions & 2 deletions Lib/idlelib/sidebar.py
Original file line number Diff line number Diff line change
Expand Up @@ -514,7 +514,7 @@ def update_colors(self):
self.change_callback()


def _linenumbers_drag_scrolling(parent): # htest #
def _sidebar_number_scrolling(parent): # htest #
from idlelib.idle_test.test_sidebar import Dummy_editwin

top = tk.Toplevel(parent)
Expand All @@ -541,4 +541,4 @@ def _linenumbers_drag_scrolling(parent): # htest #
main('idlelib.idle_test.test_sidebar', verbosity=2, exit=False)

from idlelib.idle_test.htest import run
run(_linenumbers_drag_scrolling)
run(_sidebar_number_scrolling)
1 change: 1 addition & 0 deletions Lib/idlelib/statusbar.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ def change():
button.pack(side='bottom')
frame.pack()


if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_statusbar', verbosity=2, exit=False)
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/tree.py
Original file line number Diff line number Diff line change
Expand Up @@ -492,6 +492,7 @@ def _tree_widget(parent): # htest #
node = TreeNode(sc.canvas, None, item)
node.expand()


if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_tree', verbosity=2, exit=False)
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/undo.py
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,7 @@ def _undo_delegator(parent): # htest #
dump = Button(top, text="Dump", command=lambda:d.dump_event(None))
dump.pack(side='left')


if __name__ == "__main__":
from unittest import main
main('idlelib.idle_test.test_undo', verbosity=2, exit=False)
Expand Down
1 change: 1 addition & 0 deletions Lib/idlelib/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
# .pyw is for Windows; .pyi is for stub files.
py_extensions = ('.py', '.pyw', '.pyi') # Order needed for open/save dialogs.


if __name__ == '__main__':
from unittest import main
main('idlelib.idle_test.test_util', verbosity=2)