From 9a02ae3d3d645f0c8178f3362694f473bab6fe3e Mon Sep 17 00:00:00 2001 From: csabella Date: Mon, 26 Jun 2017 22:28:58 -0400 Subject: [PATCH] bpo-24813: IDLE: Add build bitness to About Idle title (#2380) Patch by Cheryl Sabella. --- Lib/idlelib/help_about.py | 18 ++++++++++++++---- Lib/idlelib/idle_test/test_help_about.py | 12 ++++++++++-- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/Lib/idlelib/help_about.py b/Lib/idlelib/help_about.py index a2ac3166c34cf3..967f0342a101c2 100644 --- a/Lib/idlelib/help_about.py +++ b/Lib/idlelib/help_about.py @@ -2,7 +2,8 @@ """ 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 SUNKEN, TOP, BOTTOM, LEFT, X, BOTH, W, EW, NSEW, E @@ -10,6 +11,14 @@ 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): """Modal about dialog for idle @@ -28,11 +37,12 @@ def __init__(self, parent, title=None, _htest=False, _utest=False): self.geometry("+%d+%d" % ( parent.winfo_rootx()+30, parent.winfo_rooty()+(30 if not _htest else 100))) - self.bg = "#707070" - self.fg = "#ffffff" + self.bg = "#bbbbbb" + self.fg = "#000000" self.create_widgets() 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.grab_set() self.protocol("WM_DELETE_WINDOW", self.ok) diff --git a/Lib/idlelib/idle_test/test_help_about.py b/Lib/idlelib/idle_test/test_help_about.py index be1fadd58f493b..08c38a515da10d 100644 --- a/Lib/idlelib/idle_test/test_help_about.py +++ b/Lib/idlelib/idle_test/test_help_about.py @@ -5,12 +5,15 @@ from test.support import requires, findfile from tkinter import Tk, TclError import unittest +from unittest import mock from idlelib.idle_test.mock_idle import Func from idlelib.idle_test.mock_tk import Mbox_func from idlelib.help_about import AboutDialog as About +from idlelib import help_about from idlelib import textview import os.path -from platform import python_version +from platform import python_version, architecture + class LiveDialogTest(unittest.TestCase): """Simulate user clicking buttons other than [Close]. @@ -31,6 +34,9 @@ def tearDownClass(cls): cls.root.destroy() del cls.root + def test_build_bits(self): + self.assertIn(help_about.build_bits(), ('32', '64')) + def test_dialog_title(self): """Test about dialog title""" self.assertEqual(self.dialog.title(), 'About IDLE') @@ -99,7 +105,9 @@ def tearDownClass(cls): def test_dialog_title(self): """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):