summaryrefslogtreecommitdiffstats
path: root/Lib/idlelib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/idlelib')
-rw-r--r--Lib/idlelib/editor.py2
-rw-r--r--Lib/idlelib/help_about.py15
-rw-r--r--Lib/idlelib/idle_test/test_help_about.py23
-rw-r--r--Lib/idlelib/macosx.py2
4 files changed, 33 insertions, 9 deletions
diff --git a/Lib/idlelib/editor.py b/Lib/idlelib/editor.py
index ab4f1a3..13b4a51 100644
--- a/Lib/idlelib/editor.py
+++ b/Lib/idlelib/editor.py
@@ -463,7 +463,7 @@ class EditorWindow(object):
def about_dialog(self, event=None):
"Handle Help 'About IDLE' event."
# Synchronize with macosx.overrideRootMenu.about_dialog.
- help_about.AboutDialog(self.top,'About IDLE')
+ help_about.AboutDialog(self.top)
def config_dialog(self, event=None):
"Handle Options 'Configure IDLE' event."
diff --git a/Lib/idlelib/help_about.py b/Lib/idlelib/help_about.py
index e65e67c..a2ac316 100644
--- a/Lib/idlelib/help_about.py
+++ b/Lib/idlelib/help_about.py
@@ -2,7 +2,7 @@
"""
import os
-from sys import version
+from platform import python_version
from tkinter import Toplevel, Frame, Label, Button, PhotoImage
from tkinter import SUNKEN, TOP, BOTTOM, LEFT, X, BOTH, W, EW, NSEW, E
@@ -14,7 +14,7 @@ class AboutDialog(Toplevel):
"""Modal about dialog for idle
"""
- def __init__(self, parent, title, _htest=False, _utest=False):
+ def __init__(self, parent, title=None, _htest=False, _utest=False):
"""Create popup, do not return until tk widget destroyed.
parent - parent of this dialog
@@ -32,7 +32,7 @@ class AboutDialog(Toplevel):
self.fg = "#ffffff"
self.create_widgets()
self.resizable(height=False, width=False)
- self.title(title)
+ self.title(title or f'About IDLE {python_version()}')
self.transient(parent)
self.grab_set()
self.protocol("WM_DELETE_WINDOW", self.ok)
@@ -48,7 +48,6 @@ class AboutDialog(Toplevel):
self.wait_window()
def create_widgets(self):
- release = version[:version.index(' ')]
frame = Frame(self, borderwidth=2, relief=SUNKEN)
frame_buttons = Frame(self)
frame_buttons.pack(side=BOTTOM, fill=X)
@@ -80,7 +79,7 @@ class AboutDialog(Toplevel):
justify=LEFT, fg=self.fg, bg=self.bg)
email.grid(row=6, column=0, columnspan=2, sticky=W, padx=10, pady=0)
docs = Label(frame_background, text='https://docs.python.org/' +
- version[:3] + '/library/idle.html',
+ python_version()[:3] + '/library/idle.html',
justify=LEFT, fg=self.fg, bg=self.bg)
docs.grid(row=7, column=0, columnspan=2, sticky=W, padx=10, pady=0)
@@ -88,7 +87,8 @@ class AboutDialog(Toplevel):
height=2, bg=self.bg).grid(row=8, column=0, sticky=EW,
columnspan=3, padx=5, pady=5)
- pyver = Label(frame_background, text='Python version: ' + release,
+ pyver = Label(frame_background,
+ text='Python version: ' + python_version(),
fg=self.fg, bg=self.bg)
pyver.grid(row=9, column=0, sticky=W, padx=10, pady=0)
tkver = Label(frame_background, text='Tk version: ' + tk_patchlevel,
@@ -113,7 +113,8 @@ class AboutDialog(Toplevel):
height=2, bg=self.bg).grid(row=11, column=0, sticky=EW,
columnspan=3, padx=5, pady=5)
- idlever = Label(frame_background, text='IDLE version: ' + release,
+ idlever = Label(frame_background,
+ text='IDLE version: ' + python_version(),
fg=self.fg, bg=self.bg)
idlever.grid(row=12, column=0, sticky=W, padx=10, pady=0)
idle_buttons = Frame(frame_background, bg=self.bg)
diff --git a/Lib/idlelib/idle_test/test_help_about.py b/Lib/idlelib/idle_test/test_help_about.py
index f3ca75c..be1fadd 100644
--- a/Lib/idlelib/idle_test/test_help_about.py
+++ b/Lib/idlelib/idle_test/test_help_about.py
@@ -10,6 +10,7 @@ from idlelib.idle_test.mock_tk import Mbox_func
from idlelib.help_about import AboutDialog as About
from idlelib import textview
import os.path
+from platform import python_version
class LiveDialogTest(unittest.TestCase):
"""Simulate user clicking buttons other than [Close].
@@ -79,6 +80,28 @@ class LiveDialogTest(unittest.TestCase):
dialog._current_textview.destroy()
+class DefaultTitleTest(unittest.TestCase):
+ "Test default title."
+
+ @classmethod
+ def setUpClass(cls):
+ requires('gui')
+ cls.root = Tk()
+ cls.root.withdraw()
+ cls.dialog = About(cls.root, _utest=True)
+
+ @classmethod
+ def tearDownClass(cls):
+ del cls.dialog
+ cls.root.update_idletasks()
+ cls.root.destroy()
+ del cls.root
+
+ def test_dialog_title(self):
+ """Test about dialog title"""
+ self.assertEqual(self.dialog.title(), f'About IDLE {python_version()}')
+
+
class CloseTest(unittest.TestCase):
"""Simulate user clicking [Close] button"""
diff --git a/Lib/idlelib/macosx.py b/Lib/idlelib/macosx.py
index d4566cd..d85278a 100644
--- a/Lib/idlelib/macosx.py
+++ b/Lib/idlelib/macosx.py
@@ -165,7 +165,7 @@ def overrideRootMenu(root, flist):
"Handle Help 'About IDLE' event."
# Synchronize with editor.EditorWindow.about_dialog.
from idlelib import help_about
- help_about.AboutDialog(root, 'About IDLE')
+ help_about.AboutDialog(root)
def config_dialog(event=None):
"Handle Options 'Configure IDLE' event."