summaryrefslogtreecommitdiffstats
path: root/Lib/tkinter/test/test_tkinter
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/tkinter/test/test_tkinter')
-rw-r--r--Lib/tkinter/test/test_tkinter/test_font.py18
-rw-r--r--Lib/tkinter/test/test_tkinter/test_geometry_managers.py10
-rw-r--r--Lib/tkinter/test/test_tkinter/test_images.py21
-rw-r--r--Lib/tkinter/test/test_tkinter/test_misc.py7
-rw-r--r--Lib/tkinter/test/test_tkinter/test_text.py9
-rw-r--r--Lib/tkinter/test/test_tkinter/test_variables.py8
-rw-r--r--Lib/tkinter/test/test_tkinter/test_widgets.py48
7 files changed, 49 insertions, 72 deletions
diff --git a/Lib/tkinter/test/test_tkinter/test_font.py b/Lib/tkinter/test/test_tkinter/test_font.py
index dfd630b..09c963e 100644
--- a/Lib/tkinter/test/test_tkinter/test_font.py
+++ b/Lib/tkinter/test/test_tkinter/test_font.py
@@ -2,26 +2,20 @@ import unittest
import tkinter
from tkinter import font
from test.support import requires, run_unittest
-import tkinter.test.support as support
+from tkinter.test.support import AbstractTkTest
requires('gui')
-class FontTest(unittest.TestCase):
-
- def setUp(self):
- support.root_deiconify()
-
- def tearDown(self):
- support.root_withdraw()
+class FontTest(AbstractTkTest, unittest.TestCase):
def test_font_eq(self):
fontname = "TkDefaultFont"
try:
- f = font.Font(name=fontname, exists=True)
+ f = font.Font(root=self.root, name=fontname, exists=True)
except tkinter._tkinter.TclError:
- f = font.Font(name=fontname, exists=False)
- font1 = font.nametofont(fontname)
- font2 = font.nametofont(fontname)
+ f = font.Font(root=self.root, name=fontname, exists=False)
+ font1 = font.Font(root=self.root, name=fontname, exists=True)
+ font2 = font.Font(root=self.root, name=fontname, exists=True)
self.assertIsNot(font1, font2)
self.assertEqual(font1, font2)
self.assertNotEqual(font1, font1.copy())
diff --git a/Lib/tkinter/test/test_tkinter/test_geometry_managers.py b/Lib/tkinter/test/test_tkinter/test_geometry_managers.py
index fe37409..e42b1be 100644
--- a/Lib/tkinter/test/test_tkinter/test_geometry_managers.py
+++ b/Lib/tkinter/test/test_tkinter/test_geometry_managers.py
@@ -278,7 +278,7 @@ class PlaceTest(AbstractWidgetTest, unittest.TestCase):
def create2(self):
t = tkinter.Toplevel(self.root, width=300, height=200, bd=0)
- t.wm_geometry('+0+0')
+ t.wm_geometry('300x200+0+0')
f = tkinter.Frame(t, width=154, height=84, bd=2, relief='raised')
f.place_configure(x=48, y=38)
f2 = tkinter.Frame(t, width=30, height=60, bd=2, relief='raised')
@@ -479,7 +479,6 @@ class PlaceTest(AbstractWidgetTest, unittest.TestCase):
class GridTest(AbstractWidgetTest, unittest.TestCase):
def tearDown(self):
- super().tearDown()
cols, rows = self.root.grid_size()
for i in range(cols + 1):
self.root.grid_columnconfigure(i, weight=0, minsize=0, pad=0, uniform='')
@@ -488,10 +487,10 @@ class GridTest(AbstractWidgetTest, unittest.TestCase):
self.root.grid_propagate(1)
if tcl_version >= (8, 5):
self.root.grid_anchor('nw')
+ super().tearDown()
def test_grid_configure(self):
b = tkinter.Button(self.root)
- self.addCleanup(b.destroy)
self.assertEqual(b.grid_info(), {})
b.grid_configure()
self.assertEqual(b.grid_info()['in'], self.root)
@@ -578,7 +577,6 @@ class GridTest(AbstractWidgetTest, unittest.TestCase):
def test_grid_configure_row(self):
b = tkinter.Button(self.root)
- self.addCleanup(b.destroy)
with self.assertRaisesRegex(TclError, 'bad (row|grid) value "-1": '
'must be a non-negative integer'):
b.grid_configure(row=-1)
@@ -795,7 +793,7 @@ class GridTest(AbstractWidgetTest, unittest.TestCase):
self.root.grid_bbox(0, 0, 0, 'x')
with self.assertRaises(TypeError):
self.root.grid_bbox(0, 0, 0, 0, 0)
- t = tkinter.Toplevel(self.root)
+ t = self.root
# de-maximize
t.wm_geometry('1x1+0+0')
t.wm_geometry('')
@@ -823,7 +821,7 @@ class GridTest(AbstractWidgetTest, unittest.TestCase):
self.root.grid_location('x', 'y')
with self.assertRaisesRegex(TclError, 'bad screen distance "y"'):
self.root.grid_location('1c', 'y')
- t = tkinter.Toplevel(self.root)
+ t = self.root
# de-maximize
t.wm_geometry('1x1+0+0')
t.wm_geometry('')
diff --git a/Lib/tkinter/test/test_tkinter/test_images.py b/Lib/tkinter/test/test_tkinter/test_images.py
index ff05bbe..85a8cd0 100644
--- a/Lib/tkinter/test/test_tkinter/test_images.py
+++ b/Lib/tkinter/test/test_tkinter/test_images.py
@@ -1,16 +1,12 @@
import unittest
import tkinter
-from tkinter import ttk
from test import support
-from tkinter.test.support import requires_tcl
+from tkinter.test.support import AbstractTkTest, requires_tcl
support.requires('gui')
-class MiscTest(unittest.TestCase):
-
- def setUp(self):
- self.root = ttk.setup_master()
+class MiscTest(AbstractTkTest, unittest.TestCase):
def test_image_types(self):
image_types = self.root.image_types()
@@ -23,15 +19,13 @@ class MiscTest(unittest.TestCase):
self.assertIsInstance(image_names, tuple)
-class BitmapImageTest(unittest.TestCase):
+class BitmapImageTest(AbstractTkTest, unittest.TestCase):
@classmethod
def setUpClass(cls):
+ AbstractTkTest.setUpClass.__func__(cls)
cls.testfile = support.findfile('python.xbm', subdir='imghdrdata')
- def setUp(self):
- self.root = ttk.setup_master()
-
def test_create_from_file(self):
image = tkinter.BitmapImage('::img::test', master=self.root,
foreground='yellow', background='blue',
@@ -107,16 +101,13 @@ class BitmapImageTest(unittest.TestCase):
'-foreground {} {} #000000 yellow')
-class PhotoImageTest(unittest.TestCase):
+class PhotoImageTest(AbstractTkTest, unittest.TestCase):
@classmethod
def setUpClass(cls):
+ AbstractTkTest.setUpClass.__func__(cls)
cls.testfile = support.findfile('python.gif', subdir='imghdrdata')
- def setUp(self):
- self.root = ttk.setup_master()
- self.wantobjects = self.root.wantobjects()
-
def create(self):
return tkinter.PhotoImage('::img::test', master=self.root,
file=self.testfile)
diff --git a/Lib/tkinter/test/test_tkinter/test_misc.py b/Lib/tkinter/test/test_tkinter/test_misc.py
index d325b31..d8de949 100644
--- a/Lib/tkinter/test/test_tkinter/test_misc.py
+++ b/Lib/tkinter/test/test_tkinter/test_misc.py
@@ -1,14 +1,11 @@
import unittest
import tkinter
-from tkinter import ttk
from test import support
+from tkinter.test.support import AbstractTkTest
support.requires('gui')
-class MiscTest(unittest.TestCase):
-
- def setUp(self):
- self.root = ttk.setup_master()
+class MiscTest(AbstractTkTest, unittest.TestCase):
def test_tk_setPalette(self):
root = self.root
diff --git a/Lib/tkinter/test/test_tkinter/test_text.py b/Lib/tkinter/test/test_tkinter/test_text.py
index 4c3fa04..13b7c56 100644
--- a/Lib/tkinter/test/test_tkinter/test_text.py
+++ b/Lib/tkinter/test/test_tkinter/test_text.py
@@ -1,19 +1,16 @@
import unittest
import tkinter
from test.support import requires, run_unittest
-from tkinter.ttk import setup_master
+from tkinter.test.support import AbstractTkTest
requires('gui')
-class TextTest(unittest.TestCase):
+class TextTest(AbstractTkTest, unittest.TestCase):
def setUp(self):
- self.root = setup_master()
+ super().setUp()
self.text = tkinter.Text(self.root)
- def tearDown(self):
- self.text.destroy()
-
def test_debug(self):
text = self.text
olddebug = text.debug()
diff --git a/Lib/tkinter/test/test_tkinter/test_variables.py b/Lib/tkinter/test/test_tkinter/test_variables.py
index 9d910ac..7b7e299 100644
--- a/Lib/tkinter/test/test_tkinter/test_variables.py
+++ b/Lib/tkinter/test/test_tkinter/test_variables.py
@@ -1,6 +1,6 @@
import unittest
-from tkinter import Variable, StringVar, IntVar, DoubleVar, BooleanVar, Tk
+from tkinter import Variable, StringVar, IntVar, DoubleVar, BooleanVar, Tcl
class Var(Variable):
@@ -16,10 +16,10 @@ class Var(Variable):
class TestBase(unittest.TestCase):
def setUp(self):
- self.root = Tk()
+ self.root = Tcl()
def tearDown(self):
- self.root.destroy()
+ del self.root
class TestVariable(TestBase):
@@ -81,7 +81,7 @@ class TestVariable(TestBase):
self.root.setvar(b'var\x00name', "value")
def test_initialize(self):
- v = Var()
+ v = Var(self.root)
self.assertFalse(v.side_effect)
v.set("value")
self.assertTrue(v.side_effect)
diff --git a/Lib/tkinter/test/test_tkinter/test_widgets.py b/Lib/tkinter/test/test_tkinter/test_widgets.py
index c902997..58c8ea1 100644
--- a/Lib/tkinter/test/test_tkinter/test_widgets.py
+++ b/Lib/tkinter/test/test_tkinter/test_widgets.py
@@ -66,7 +66,7 @@ class ToplevelTest(AbstractToplevelTest, unittest.TestCase):
'takefocus', 'use', 'visual', 'width',
)
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Toplevel(self.root, **kwargs)
def test_menu(self):
@@ -105,7 +105,7 @@ class FrameTest(AbstractToplevelTest, unittest.TestCase):
'relief', 'takefocus', 'visual', 'width',
)
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Frame(self.root, **kwargs)
@@ -120,7 +120,7 @@ class LabelFrameTest(AbstractToplevelTest, unittest.TestCase):
'takefocus', 'text', 'visual', 'width',
)
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.LabelFrame(self.root, **kwargs)
def test_labelanchor(self):
@@ -158,7 +158,7 @@ class LabelTest(AbstractLabelTest, unittest.TestCase):
'underline', 'width', 'wraplength',
)
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Label(self.root, **kwargs)
@@ -175,7 +175,7 @@ class ButtonTest(AbstractLabelTest, unittest.TestCase):
'state', 'takefocus', 'text', 'textvariable',
'underline', 'width', 'wraplength')
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Button(self.root, **kwargs)
def test_default(self):
@@ -199,7 +199,7 @@ class CheckbuttonTest(AbstractLabelTest, unittest.TestCase):
'underline', 'variable', 'width', 'wraplength',
)
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Checkbutton(self.root, **kwargs)
@@ -227,7 +227,7 @@ class RadiobuttonTest(AbstractLabelTest, unittest.TestCase):
'underline', 'value', 'variable', 'width', 'wraplength',
)
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Radiobutton(self.root, **kwargs)
def test_value(self):
@@ -250,7 +250,7 @@ class MenubuttonTest(AbstractLabelTest, unittest.TestCase):
)
_conv_pixels = staticmethod(pixels_round)
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Menubutton(self.root, **kwargs)
def test_direction(self):
@@ -268,7 +268,7 @@ class MenubuttonTest(AbstractLabelTest, unittest.TestCase):
'crashes with Cocoa Tk (issue19733)')
def test_image(self):
widget = self.create()
- image = tkinter.PhotoImage('image1')
+ image = tkinter.PhotoImage(master=self.root, name='image1')
self.checkParam(widget, 'image', image, conv=str)
errmsg = 'image "spam" doesn\'t exist'
with self.assertRaises(tkinter.TclError) as cm:
@@ -303,7 +303,7 @@ class MenubuttonTest(AbstractLabelTest, unittest.TestCase):
class OptionMenuTest(MenubuttonTest, unittest.TestCase):
- def _create(self, default='b', values=('a', 'b', 'c'), **kwargs):
+ def create(self, default='b', values=('a', 'b', 'c'), **kwargs):
return tkinter.OptionMenu(self.root, None, default, *values, **kwargs)
@@ -322,7 +322,7 @@ class EntryTest(AbstractWidgetTest, unittest.TestCase):
'validate', 'validatecommand', 'width', 'xscrollcommand',
)
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Entry(self.root, **kwargs)
def test_disabledbackground(self):
@@ -396,7 +396,7 @@ class SpinboxTest(EntryTest, unittest.TestCase):
'width', 'wrap', 'xscrollcommand',
)
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Spinbox(self.root, **kwargs)
test_show = None
@@ -490,9 +490,9 @@ class TextTest(AbstractWidgetTest, unittest.TestCase):
'xscrollcommand', 'yscrollcommand',
)
if tcl_version < (8, 5):
- wantobjects = False
+ _stringify = True
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Text(self.root, **kwargs)
def test_autoseparators(self):
@@ -644,9 +644,9 @@ class CanvasTest(AbstractWidgetTest, unittest.TestCase):
)
_conv_pixels = round
- wantobjects = False
+ _stringify = True
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Canvas(self.root, **kwargs)
def test_closeenough(self):
@@ -699,7 +699,7 @@ class ListboxTest(AbstractWidgetTest, unittest.TestCase):
'takefocus', 'width', 'xscrollcommand', 'yscrollcommand',
)
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Listbox(self.root, **kwargs)
def test_activestyle(self):
@@ -709,7 +709,7 @@ class ListboxTest(AbstractWidgetTest, unittest.TestCase):
def test_listvariable(self):
widget = self.create()
- var = tkinter.DoubleVar()
+ var = tkinter.DoubleVar(self.root)
self.checkVariableParam(widget, 'listvariable', var)
def test_selectmode(self):
@@ -831,7 +831,7 @@ class ScaleTest(AbstractWidgetTest, unittest.TestCase):
)
default_orient = 'vertical'
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Scale(self.root, **kwargs)
def test_bigincrement(self):
@@ -897,10 +897,10 @@ class ScrollbarTest(AbstractWidgetTest, unittest.TestCase):
'takefocus', 'troughcolor', 'width',
)
_conv_pixels = round
- wantobjects = False
+ _stringify = True
default_orient = 'vertical'
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Scrollbar(self.root, **kwargs)
def test_activerelief(self):
@@ -946,7 +946,7 @@ class PanedWindowTest(AbstractWidgetTest, unittest.TestCase):
)
default_orient = 'horizontal'
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.PanedWindow(self.root, **kwargs)
def test_handlepad(self):
@@ -1104,7 +1104,7 @@ class MenuTest(AbstractWidgetTest, unittest.TestCase):
)
_conv_pixels = noconv
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Menu(self.root, **kwargs)
def test_postcommand(self):
@@ -1173,7 +1173,7 @@ class MessageTest(AbstractWidgetTest, unittest.TestCase):
)
_conv_pad_pixels = noconv
- def _create(self, **kwargs):
+ def create(self, **kwargs):
return tkinter.Message(self.root, **kwargs)
def test_aspect(self):