mirror of https://github.com/python/cpython
bpo-24813: IDLE: Add build bitness to About Idle title (#2380)
Patch by Cheryl Sabella.
This commit is contained in:
parent
a7874c73c0
commit
9a02ae3d3d
|
@ -2,7 +2,8 @@
|
||||||
|
|
||||||
"""
|
"""
|
||||||
import os
|
import os
|
||||||
from platform import python_version
|
import sys
|
||||||
|
from platform import python_version, architecture
|
||||||
|
|
||||||
from tkinter import Toplevel, Frame, Label, Button, PhotoImage
|
from tkinter import Toplevel, Frame, Label, Button, PhotoImage
|
||||||
from tkinter import SUNKEN, TOP, BOTTOM, LEFT, X, BOTH, W, EW, NSEW, E
|
from tkinter import SUNKEN, TOP, BOTTOM, LEFT, X, BOTH, W, EW, NSEW, E
|
||||||
|
@ -10,6 +11,14 @@ from tkinter import SUNKEN, TOP, BOTTOM, LEFT, X, BOTH, W, EW, NSEW, E
|
||||||
from idlelib import textview
|
from idlelib import textview
|
||||||
|
|
||||||
|
|
||||||
|
def build_bits():
|
||||||
|
"Return bits for platform."
|
||||||
|
if sys.platform == 'darwin':
|
||||||
|
return '64' if sys.maxsize > 2**32 else '32'
|
||||||
|
else:
|
||||||
|
return architecture()[0][:2]
|
||||||
|
|
||||||
|
|
||||||
class AboutDialog(Toplevel):
|
class AboutDialog(Toplevel):
|
||||||
"""Modal about dialog for idle
|
"""Modal about dialog for idle
|
||||||
|
|
||||||
|
@ -28,11 +37,12 @@ class AboutDialog(Toplevel):
|
||||||
self.geometry("+%d+%d" % (
|
self.geometry("+%d+%d" % (
|
||||||
parent.winfo_rootx()+30,
|
parent.winfo_rootx()+30,
|
||||||
parent.winfo_rooty()+(30 if not _htest else 100)))
|
parent.winfo_rooty()+(30 if not _htest else 100)))
|
||||||
self.bg = "#707070"
|
self.bg = "#bbbbbb"
|
||||||
self.fg = "#ffffff"
|
self.fg = "#000000"
|
||||||
self.create_widgets()
|
self.create_widgets()
|
||||||
self.resizable(height=False, width=False)
|
self.resizable(height=False, width=False)
|
||||||
self.title(title or f'About IDLE {python_version()}')
|
self.title(title or
|
||||||
|
f'About IDLE {python_version()} ({build_bits()} bit)')
|
||||||
self.transient(parent)
|
self.transient(parent)
|
||||||
self.grab_set()
|
self.grab_set()
|
||||||
self.protocol("WM_DELETE_WINDOW", self.ok)
|
self.protocol("WM_DELETE_WINDOW", self.ok)
|
||||||
|
|
|
@ -5,12 +5,15 @@ Coverage: 100%
|
||||||
from test.support import requires, findfile
|
from test.support import requires, findfile
|
||||||
from tkinter import Tk, TclError
|
from tkinter import Tk, TclError
|
||||||
import unittest
|
import unittest
|
||||||
|
from unittest import mock
|
||||||
from idlelib.idle_test.mock_idle import Func
|
from idlelib.idle_test.mock_idle import Func
|
||||||
from idlelib.idle_test.mock_tk import Mbox_func
|
from idlelib.idle_test.mock_tk import Mbox_func
|
||||||
from idlelib.help_about import AboutDialog as About
|
from idlelib.help_about import AboutDialog as About
|
||||||
|
from idlelib import help_about
|
||||||
from idlelib import textview
|
from idlelib import textview
|
||||||
import os.path
|
import os.path
|
||||||
from platform import python_version
|
from platform import python_version, architecture
|
||||||
|
|
||||||
|
|
||||||
class LiveDialogTest(unittest.TestCase):
|
class LiveDialogTest(unittest.TestCase):
|
||||||
"""Simulate user clicking buttons other than [Close].
|
"""Simulate user clicking buttons other than [Close].
|
||||||
|
@ -31,6 +34,9 @@ class LiveDialogTest(unittest.TestCase):
|
||||||
cls.root.destroy()
|
cls.root.destroy()
|
||||||
del cls.root
|
del cls.root
|
||||||
|
|
||||||
|
def test_build_bits(self):
|
||||||
|
self.assertIn(help_about.build_bits(), ('32', '64'))
|
||||||
|
|
||||||
def test_dialog_title(self):
|
def test_dialog_title(self):
|
||||||
"""Test about dialog title"""
|
"""Test about dialog title"""
|
||||||
self.assertEqual(self.dialog.title(), 'About IDLE')
|
self.assertEqual(self.dialog.title(), 'About IDLE')
|
||||||
|
@ -99,7 +105,9 @@ class DefaultTitleTest(unittest.TestCase):
|
||||||
|
|
||||||
def test_dialog_title(self):
|
def test_dialog_title(self):
|
||||||
"""Test about dialog title"""
|
"""Test about dialog title"""
|
||||||
self.assertEqual(self.dialog.title(), f'About IDLE {python_version()}')
|
self.assertEqual(self.dialog.title(),
|
||||||
|
f'About IDLE {python_version()}'
|
||||||
|
f' ({help_about.build_bits()} bit)')
|
||||||
|
|
||||||
|
|
||||||
class CloseTest(unittest.TestCase):
|
class CloseTest(unittest.TestCase):
|
||||||
|
|
Loading…
Reference in New Issue