"""
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
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
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)
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].
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')
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):