__init__.py000064400000000000147205215210006642 0ustar00__init__.pyc000064400000000220147205215210007011 0ustar00 zfc@sdS(N((((s9/usr/lib64/python2.7/lib-tk/test/test_tkinter/__init__.pytt__init__.pyo000064400000000220147205215210007025 0ustar00 zfc@sdS(N((((s9/usr/lib64/python2.7/lib-tk/test/test_tkinter/__init__.pytttest_font.py000064400000007746147205215210007140 0ustar00import unittest import Tkinter as tkinter import tkFont as font from test.test_support import requires, run_unittest, gc_collect from test_ttk.support import AbstractTkTest requires('gui') fontname = "TkDefaultFont" class FontTest(AbstractTkTest, unittest.TestCase): @classmethod def setUpClass(cls): AbstractTkTest.setUpClass.__func__(cls) try: cls.font = font.Font(root=cls.root, name=fontname, exists=True) except tkinter.TclError: cls.font = font.Font(root=cls.root, name=fontname, exists=False) def test_configure(self): options = self.font.configure() self.assertGreaterEqual(set(options), {'family', 'size', 'weight', 'slant', 'underline', 'overstrike'}) for key in options: self.assertEqual(self.font.cget(key), options[key]) self.assertEqual(self.font[key], options[key]) for key in 'family', 'weight', 'slant': self.assertIsInstance(options[key], str) self.assertIsInstance(self.font.cget(key), str) self.assertIsInstance(self.font[key], str) sizetype = int if self.wantobjects else str for key in 'size', 'underline', 'overstrike': self.assertIsInstance(options[key], sizetype) self.assertIsInstance(self.font.cget(key), sizetype) self.assertIsInstance(self.font[key], sizetype) def test_unicode_family(self): family = u'MS \u30b4\u30b7\u30c3\u30af' try: f = font.Font(root=self.root, family=family, exists=True) except tkinter.TclError: f = font.Font(root=self.root, family=family, exists=False) self.assertEqual(f.cget('family'), family) del f gc_collect() def test_actual(self): options = self.font.actual() self.assertGreaterEqual(set(options), {'family', 'size', 'weight', 'slant', 'underline', 'overstrike'}) for key in options: self.assertEqual(self.font.actual(key), options[key]) for key in 'family', 'weight', 'slant': self.assertIsInstance(options[key], str) self.assertIsInstance(self.font.actual(key), str) sizetype = int if self.wantobjects else str for key in 'size', 'underline', 'overstrike': self.assertIsInstance(options[key], sizetype) self.assertIsInstance(self.font.actual(key), sizetype) def test_name(self): self.assertEqual(self.font.name, fontname) self.assertEqual(str(self.font), fontname) def test_eq(self): 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()) self.assertNotEqual(font1, 0) self.assertNotIn(font1, [0]) def test_measure(self): self.assertIsInstance(self.font.measure('abc'), int) def test_metrics(self): metrics = self.font.metrics() self.assertGreaterEqual(set(metrics), {'ascent', 'descent', 'linespace', 'fixed'}) for key in metrics: self.assertEqual(self.font.metrics(key), metrics[key]) self.assertIsInstance(metrics[key], int) self.assertIsInstance(self.font.metrics(key), int) def test_families(self): families = font.families(self.root) self.assertIsInstance(families, tuple) self.assertTrue(families) for family in families: self.assertIsInstance(family, (str, unicode)) self.assertTrue(family) def test_names(self): names = font.names(self.root) self.assertIsInstance(names, tuple) self.assertTrue(names) for name in names: self.assertIsInstance(name, (str, unicode)) self.assertTrue(name) self.assertIn(fontname, names) tests_gui = (FontTest, ) if __name__ == "__main__": run_unittest(*tests_gui) test_font.pyc000064400000011672147205215210007274 0ustar00 zfc@sddlZddlZddlZddlmZmZmZddl m Z eddZ de ej fdYZ e fZedkreendS( iN(trequirest run_unittestt gc_collect(tAbstractTkTesttguit TkDefaultFonttFontTestcBsheZedZdZdZdZdZdZdZ dZ dZ d Z RS( cCswtjj|y(tjd|jdtdt|_Wn8tj k rrtjd|jdtdt |_nXdS(Ntroottnametexists( Rt setUpClasst__func__tfonttFontRtfontnametTruettkintertTclErrortFalse(tcls((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyR s (cCsL|jj}|jt|ddddddhxI|D]A}|j|jj||||j|j|||q>WxUdD]M}|j||t|j|jj|t|j|j|tqW|jrt nt}xUdD]M}|j||||j|jj|||j|j||qWdS( Ntfamilytsizetweighttslantt underlinet overstrike(RRR(RRR( R t configuretassertGreaterEqualtsett assertEqualtcgettassertIsInstancetstrt wantobjectstint(tselftoptionstkeytsizetype((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyttest_configures    cCsd}y%tjd|jd|dt}Wn5tjk rbtjd|jd|dt}nX|j|jd|~t dS(NuMS ゴシックRRR ( R R RRRRRRRR(R#Rtf((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyttest_unicode_family&s%%cCs|jj}|jt|ddddddhx.|D]&}|j|jj|||q>Wx>dD]6}|j||t|j|jj|tqoW|jrtnt}x>dD]6}|j||||j|jj||qWdS( NRRRRRR(RRR(RRR( R tactualRRRRR R!R"(R#R$R%R&((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyt test_actual0s $   cCs3|j|jjt|jt|jtdS(N(RR RRR (R#((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyt test_name>scCstjd|jdtdt}tjd|jdtdt}|j|||j|||j||j|j|d|j |dgdS(NRRR i( R R RRRt assertIsNotRtassertNotEqualtcopyt assertNotIn(R#tfont1tfont2((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyttest_eqBs!!cCs |j|jjdtdS(Ntabc(RR tmeasureR"(R#((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyt test_measureKscCs|jj}|jt|ddddhx^|D]V}|j|jj||||j||t|j|jj|tq8WdS(Ntascenttdescentt linespacetfixed(R tmetricsRRRRR"(R#R;R%((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyt test_metricsNs  cCsgtj|j}|j|t|j|x1|D])}|j|ttf|j|q6WdS(N(R tfamiliesRRttuplet assertTrueR tunicode(R#R=R((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyt test_familiesWs   cCswtj|j}|j|t|j|x1|D])}|j|ttf|j|q6W|jt |dS(N( R tnamesRRR>R?R R@tassertInR(R#RBR((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyt test_names_s  ( t__name__t __module__t classmethodR R'R)R+R,R3R6R<RARD(((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyR s     t__main__(tunittesttTkinterRttkFontR ttest.test_supportRRRttest_ttk.supportRRtTestCaseRt tests_guiRE(((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyts    ]  test_font.pyo000064400000011672147205215210007310 0ustar00 zfc@sddlZddlZddlZddlmZmZmZddl m Z eddZ de ej fdYZ e fZedkreendS( iN(trequirest run_unittestt gc_collect(tAbstractTkTesttguit TkDefaultFonttFontTestcBsheZedZdZdZdZdZdZdZ dZ dZ d Z RS( cCswtjj|y(tjd|jdtdt|_Wn8tj k rrtjd|jdtdt |_nXdS(Ntroottnametexists( Rt setUpClasst__func__tfonttFontRtfontnametTruettkintertTclErrortFalse(tcls((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyR s (cCsL|jj}|jt|ddddddhxI|D]A}|j|jj||||j|j|||q>WxUdD]M}|j||t|j|jj|t|j|j|tqW|jrt nt}xUdD]M}|j||||j|jj|||j|j||qWdS( Ntfamilytsizetweighttslantt underlinet overstrike(RRR(RRR( R t configuretassertGreaterEqualtsett assertEqualtcgettassertIsInstancetstrt wantobjectstint(tselftoptionstkeytsizetype((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyttest_configures    cCsd}y%tjd|jd|dt}Wn5tjk rbtjd|jd|dt}nX|j|jd|~t dS(NuMS ゴシックRRR ( R R RRRRRRRR(R#Rtf((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyttest_unicode_family&s%%cCs|jj}|jt|ddddddhx.|D]&}|j|jj|||q>Wx>dD]6}|j||t|j|jj|tqoW|jrtnt}x>dD]6}|j||||j|jj||qWdS( NRRRRRR(RRR(RRR( R tactualRRRRR R!R"(R#R$R%R&((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyt test_actual0s $   cCs3|j|jjt|jt|jtdS(N(RR RRR (R#((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyt test_name>scCstjd|jdtdt}tjd|jdtdt}|j|||j|||j||j|j|d|j |dgdS(NRRR i( R R RRRt assertIsNotRtassertNotEqualtcopyt assertNotIn(R#tfont1tfont2((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyttest_eqBs!!cCs |j|jjdtdS(Ntabc(RR tmeasureR"(R#((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyt test_measureKscCs|jj}|jt|ddddhx^|D]V}|j|jj||||j||t|j|jj|tq8WdS(Ntascenttdescentt linespacetfixed(R tmetricsRRRRR"(R#R;R%((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyt test_metricsNs  cCsgtj|j}|j|t|j|x1|D])}|j|ttf|j|q6WdS(N(R tfamiliesRRttuplet assertTrueR tunicode(R#R=R((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyt test_familiesWs   cCswtj|j}|j|t|j|x1|D])}|j|ttf|j|q6W|jt |dS(N( R tnamesRRR>R?R R@tassertInR(R#RBR((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyt test_names_s  ( t__name__t __module__t classmethodR R'R)R+R,R3R6R<RARD(((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyR s     t__main__(tunittesttTkinterRttkFontR ttest.test_supportRRRttest_ttk.supportRRtTestCaseRt tests_guiRE(((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_font.pyts    ]  test_geometry_managers.py000064400000117167147205215210011701 0ustar00import unittest import re import Tkinter as tkinter from Tkinter import TclError from test.test_support import requires, run_unittest from test_ttk.support import pixels_conv, tcl_version, requires_tcl from widget_tests import AbstractWidgetTest, int_round requires('gui') class PackTest(AbstractWidgetTest, unittest.TestCase): test_keys = None def create2(self): pack = tkinter.Toplevel(self.root, name='pack') pack.wm_geometry('300x200+0+0') pack.wm_minsize(1, 1) a = tkinter.Frame(pack, name='a', width=20, height=40, bg='red') b = tkinter.Frame(pack, name='b', width=50, height=30, bg='blue') c = tkinter.Frame(pack, name='c', width=80, height=80, bg='green') d = tkinter.Frame(pack, name='d', width=40, height=30, bg='yellow') return pack, a, b, c, d def test_pack_configure_after(self): pack, a, b, c, d = self.create2() with self.assertRaisesRegexp(TclError, 'window "%s" isn\'t packed' % b): a.pack_configure(after=b) with self.assertRaisesRegexp(TclError, 'bad window path name ".foo"'): a.pack_configure(after='.foo') a.pack_configure(side='top') b.pack_configure(side='top') c.pack_configure(side='top') d.pack_configure(side='top') self.assertEqual(pack.pack_slaves(), [a, b, c, d]) a.pack_configure(after=b) self.assertEqual(pack.pack_slaves(), [b, a, c, d]) a.pack_configure(after=a) self.assertEqual(pack.pack_slaves(), [b, a, c, d]) def test_pack_configure_anchor(self): pack, a, b, c, d = self.create2() def check(anchor, geom): a.pack_configure(side='top', ipadx=5, padx=10, ipady=15, pady=20, expand=True, anchor=anchor) self.root.update() self.assertEqual(a.winfo_geometry(), geom) check('n', '30x70+135+20') check('ne', '30x70+260+20') check('e', '30x70+260+65') check('se', '30x70+260+110') check('s', '30x70+135+110') check('sw', '30x70+10+110') check('w', '30x70+10+65') check('nw', '30x70+10+20') check('center', '30x70+135+65') def test_pack_configure_before(self): pack, a, b, c, d = self.create2() with self.assertRaisesRegexp(TclError, 'window "%s" isn\'t packed' % b): a.pack_configure(before=b) with self.assertRaisesRegexp(TclError, 'bad window path name ".foo"'): a.pack_configure(before='.foo') a.pack_configure(side='top') b.pack_configure(side='top') c.pack_configure(side='top') d.pack_configure(side='top') self.assertEqual(pack.pack_slaves(), [a, b, c, d]) a.pack_configure(before=d) self.assertEqual(pack.pack_slaves(), [b, c, a, d]) a.pack_configure(before=a) self.assertEqual(pack.pack_slaves(), [b, c, a, d]) def test_pack_configure_expand(self): pack, a, b, c, d = self.create2() def check(*geoms): self.root.update() self.assertEqual(a.winfo_geometry(), geoms[0]) self.assertEqual(b.winfo_geometry(), geoms[1]) self.assertEqual(c.winfo_geometry(), geoms[2]) self.assertEqual(d.winfo_geometry(), geoms[3]) a.pack_configure(side='left') b.pack_configure(side='top') c.pack_configure(side='right') d.pack_configure(side='bottom') check('20x40+0+80', '50x30+135+0', '80x80+220+75', '40x30+100+170') a.pack_configure(side='left', expand='yes') b.pack_configure(side='top', expand='on') c.pack_configure(side='right', expand=True) d.pack_configure(side='bottom', expand=1) check('20x40+40+80', '50x30+175+35', '80x80+180+110', '40x30+100+135') a.pack_configure(side='left', expand='yes', fill='both') b.pack_configure(side='top', expand='on', fill='both') c.pack_configure(side='right', expand=True, fill='both') d.pack_configure(side='bottom', expand=1, fill='both') check('100x200+0+0', '200x100+100+0', '160x100+140+100', '40x100+100+100') def test_pack_configure_in(self): pack, a, b, c, d = self.create2() a.pack_configure(side='top') b.pack_configure(side='top') c.pack_configure(side='top') d.pack_configure(side='top') a.pack_configure(in_=pack) self.assertEqual(pack.pack_slaves(), [b, c, d, a]) a.pack_configure(in_=c) self.assertEqual(pack.pack_slaves(), [b, c, d]) self.assertEqual(c.pack_slaves(), [a]) with self.assertRaisesRegexp(TclError, 'can\'t pack %s inside itself' % (a,)): a.pack_configure(in_=a) with self.assertRaisesRegexp(TclError, 'bad window path name ".foo"'): a.pack_configure(in_='.foo') def test_pack_configure_padx_ipadx_fill(self): pack, a, b, c, d = self.create2() def check(geom1, geom2, **kwargs): a.pack_forget() b.pack_forget() a.pack_configure(**kwargs) b.pack_configure(expand=True, fill='both') self.root.update() self.assertEqual(a.winfo_geometry(), geom1) self.assertEqual(b.winfo_geometry(), geom2) check('20x40+260+80', '240x200+0+0', side='right', padx=20) check('20x40+250+80', '240x200+0+0', side='right', padx=(10, 30)) check('60x40+240+80', '240x200+0+0', side='right', ipadx=20) check('30x40+260+80', '250x200+0+0', side='right', ipadx=5, padx=10) check('20x40+260+80', '240x200+0+0', side='right', padx=20, fill='x') check('20x40+249+80', '240x200+0+0', side='right', padx=(9, 31), fill='x') check('60x40+240+80', '240x200+0+0', side='right', ipadx=20, fill='x') check('30x40+260+80', '250x200+0+0', side='right', ipadx=5, padx=10, fill='x') check('30x40+255+80', '250x200+0+0', side='right', ipadx=5, padx=(5, 15), fill='x') check('20x40+140+0', '300x160+0+40', side='top', padx=20) check('20x40+120+0', '300x160+0+40', side='top', padx=(0, 40)) check('60x40+120+0', '300x160+0+40', side='top', ipadx=20) check('30x40+135+0', '300x160+0+40', side='top', ipadx=5, padx=10) check('30x40+130+0', '300x160+0+40', side='top', ipadx=5, padx=(5, 15)) check('260x40+20+0', '300x160+0+40', side='top', padx=20, fill='x') check('260x40+25+0', '300x160+0+40', side='top', padx=(25, 15), fill='x') check('300x40+0+0', '300x160+0+40', side='top', ipadx=20, fill='x') check('280x40+10+0', '300x160+0+40', side='top', ipadx=5, padx=10, fill='x') check('280x40+5+0', '300x160+0+40', side='top', ipadx=5, padx=(5, 15), fill='x') a.pack_configure(padx='1c') self.assertEqual(a.pack_info()['padx'], self._str(pack.winfo_pixels('1c'))) a.pack_configure(ipadx='1c') self.assertEqual(a.pack_info()['ipadx'], self._str(pack.winfo_pixels('1c'))) def test_pack_configure_pady_ipady_fill(self): pack, a, b, c, d = self.create2() def check(geom1, geom2, **kwargs): a.pack_forget() b.pack_forget() a.pack_configure(**kwargs) b.pack_configure(expand=True, fill='both') self.root.update() self.assertEqual(a.winfo_geometry(), geom1) self.assertEqual(b.winfo_geometry(), geom2) check('20x40+280+80', '280x200+0+0', side='right', pady=20) check('20x40+280+70', '280x200+0+0', side='right', pady=(10, 30)) check('20x80+280+60', '280x200+0+0', side='right', ipady=20) check('20x50+280+75', '280x200+0+0', side='right', ipady=5, pady=10) check('20x40+280+80', '280x200+0+0', side='right', pady=20, fill='x') check('20x40+280+69', '280x200+0+0', side='right', pady=(9, 31), fill='x') check('20x80+280+60', '280x200+0+0', side='right', ipady=20, fill='x') check('20x50+280+75', '280x200+0+0', side='right', ipady=5, pady=10, fill='x') check('20x50+280+70', '280x200+0+0', side='right', ipady=5, pady=(5, 15), fill='x') check('20x40+140+20', '300x120+0+80', side='top', pady=20) check('20x40+140+0', '300x120+0+80', side='top', pady=(0, 40)) check('20x80+140+0', '300x120+0+80', side='top', ipady=20) check('20x50+140+10', '300x130+0+70', side='top', ipady=5, pady=10) check('20x50+140+5', '300x130+0+70', side='top', ipady=5, pady=(5, 15)) check('300x40+0+20', '300x120+0+80', side='top', pady=20, fill='x') check('300x40+0+25', '300x120+0+80', side='top', pady=(25, 15), fill='x') check('300x80+0+0', '300x120+0+80', side='top', ipady=20, fill='x') check('300x50+0+10', '300x130+0+70', side='top', ipady=5, pady=10, fill='x') check('300x50+0+5', '300x130+0+70', side='top', ipady=5, pady=(5, 15), fill='x') a.pack_configure(pady='1c') self.assertEqual(a.pack_info()['pady'], self._str(pack.winfo_pixels('1c'))) a.pack_configure(ipady='1c') self.assertEqual(a.pack_info()['ipady'], self._str(pack.winfo_pixels('1c'))) def test_pack_configure_side(self): pack, a, b, c, d = self.create2() def check(side, geom1, geom2): a.pack_configure(side=side) self.assertEqual(a.pack_info()['side'], side) b.pack_configure(expand=True, fill='both') self.root.update() self.assertEqual(a.winfo_geometry(), geom1) self.assertEqual(b.winfo_geometry(), geom2) check('top', '20x40+140+0', '300x160+0+40') check('bottom', '20x40+140+160', '300x160+0+0') check('left', '20x40+0+80', '280x200+20+0') check('right', '20x40+280+80', '280x200+0+0') def test_pack_forget(self): pack, a, b, c, d = self.create2() a.pack_configure() b.pack_configure() c.pack_configure() self.assertEqual(pack.pack_slaves(), [a, b, c]) b.pack_forget() self.assertEqual(pack.pack_slaves(), [a, c]) b.pack_forget() self.assertEqual(pack.pack_slaves(), [a, c]) d.pack_forget() def test_pack_info(self): pack, a, b, c, d = self.create2() with self.assertRaisesRegexp(TclError, 'window "%s" isn\'t packed' % a): a.pack_info() a.pack_configure() b.pack_configure(side='right', in_=a, anchor='s', expand=True, fill='x', ipadx=5, padx=10, ipady=2, pady=(5, 15)) info = a.pack_info() self.assertIsInstance(info, dict) self.assertEqual(info['anchor'], 'center') self.assertEqual(info['expand'], self._str(0)) self.assertEqual(info['fill'], 'none') self.assertEqual(info['in'], pack) self.assertEqual(info['ipadx'], self._str(0)) self.assertEqual(info['ipady'], self._str(0)) self.assertEqual(info['padx'], self._str(0)) self.assertEqual(info['pady'], self._str(0)) self.assertEqual(info['side'], 'top') info = b.pack_info() self.assertIsInstance(info, dict) self.assertEqual(info['anchor'], 's') self.assertEqual(info['expand'], self._str(1)) self.assertEqual(info['fill'], 'x') self.assertEqual(info['in'], a) self.assertEqual(info['ipadx'], self._str(5)) self.assertEqual(info['ipady'], self._str(2)) self.assertEqual(info['padx'], self._str(10)) self.assertEqual(info['pady'], self._str((5, 15))) self.assertEqual(info['side'], 'right') def test_pack_propagate(self): pack, a, b, c, d = self.create2() pack.configure(width=300, height=200) a.pack_configure() pack.pack_propagate(False) self.root.update() self.assertEqual(pack.winfo_reqwidth(), 300) self.assertEqual(pack.winfo_reqheight(), 200) pack.pack_propagate(True) self.root.update() self.assertEqual(pack.winfo_reqwidth(), 20) self.assertEqual(pack.winfo_reqheight(), 40) def test_pack_slaves(self): pack, a, b, c, d = self.create2() self.assertEqual(pack.pack_slaves(), []) a.pack_configure() self.assertEqual(pack.pack_slaves(), [a]) b.pack_configure() self.assertEqual(pack.pack_slaves(), [a, b]) class PlaceTest(AbstractWidgetTest, unittest.TestCase): test_keys = None def create2(self): t = tkinter.Toplevel(self.root, width=300, height=200, bd=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') self.root.update() return t, f, f2 def test_place_configure_in(self): t, f, f2 = self.create2() self.assertEqual(f2.winfo_manager(), '') with self.assertRaisesRegexp(TclError, "can't place %s relative to " "itself" % re.escape(str(f2))): f2.place_configure(in_=f2) if tcl_version >= (8, 5): self.assertEqual(f2.winfo_manager(), '') with self.assertRaisesRegexp(TclError, 'bad window path name'): f2.place_configure(in_='spam') f2.place_configure(in_=f) self.assertEqual(f2.winfo_manager(), 'place') def test_place_configure_x(self): t, f, f2 = self.create2() f2.place_configure(in_=f) self.assertEqual(f2.place_info()['x'], '0') self.root.update() self.assertEqual(f2.winfo_x(), 50) f2.place_configure(x=100) self.assertEqual(f2.place_info()['x'], '100') self.root.update() self.assertEqual(f2.winfo_x(), 150) f2.place_configure(x=-10, relx=1) self.assertEqual(f2.place_info()['x'], '-10') self.root.update() self.assertEqual(f2.winfo_x(), 190) with self.assertRaisesRegexp(TclError, 'bad screen distance "spam"'): f2.place_configure(in_=f, x='spam') def test_place_configure_y(self): t, f, f2 = self.create2() f2.place_configure(in_=f) self.assertEqual(f2.place_info()['y'], '0') self.root.update() self.assertEqual(f2.winfo_y(), 40) f2.place_configure(y=50) self.assertEqual(f2.place_info()['y'], '50') self.root.update() self.assertEqual(f2.winfo_y(), 90) f2.place_configure(y=-10, rely=1) self.assertEqual(f2.place_info()['y'], '-10') self.root.update() self.assertEqual(f2.winfo_y(), 110) with self.assertRaisesRegexp(TclError, 'bad screen distance "spam"'): f2.place_configure(in_=f, y='spam') def test_place_configure_relx(self): t, f, f2 = self.create2() f2.place_configure(in_=f) self.assertEqual(f2.place_info()['relx'], '0') self.root.update() self.assertEqual(f2.winfo_x(), 50) f2.place_configure(relx=0.5) self.assertEqual(f2.place_info()['relx'], '0.5') self.root.update() self.assertEqual(f2.winfo_x(), 125) f2.place_configure(relx=1) self.assertEqual(f2.place_info()['relx'], '1') self.root.update() self.assertEqual(f2.winfo_x(), 200) with self.assertRaisesRegexp(TclError, 'expected floating-point number ' 'but got "spam"'): f2.place_configure(in_=f, relx='spam') def test_place_configure_rely(self): t, f, f2 = self.create2() f2.place_configure(in_=f) self.assertEqual(f2.place_info()['rely'], '0') self.root.update() self.assertEqual(f2.winfo_y(), 40) f2.place_configure(rely=0.5) self.assertEqual(f2.place_info()['rely'], '0.5') self.root.update() self.assertEqual(f2.winfo_y(), 80) f2.place_configure(rely=1) self.assertEqual(f2.place_info()['rely'], '1') self.root.update() self.assertEqual(f2.winfo_y(), 120) with self.assertRaisesRegexp(TclError, 'expected floating-point number ' 'but got "spam"'): f2.place_configure(in_=f, rely='spam') def test_place_configure_anchor(self): f = tkinter.Frame(self.root) with self.assertRaisesRegexp(TclError, 'bad anchor "j"'): f.place_configure(anchor='j') with self.assertRaisesRegexp(TclError, 'ambiguous anchor ""'): f.place_configure(anchor='') for value in 'n', 'ne', 'e', 'se', 's', 'sw', 'w', 'nw', 'center': f.place_configure(anchor=value) self.assertEqual(f.place_info()['anchor'], value) def test_place_configure_width(self): t, f, f2 = self.create2() f2.place_configure(in_=f, width=120) self.root.update() self.assertEqual(f2.winfo_width(), 120) f2.place_configure(width='') self.root.update() self.assertEqual(f2.winfo_width(), 30) with self.assertRaisesRegexp(TclError, 'bad screen distance "abcd"'): f2.place_configure(width='abcd') def test_place_configure_height(self): t, f, f2 = self.create2() f2.place_configure(in_=f, height=120) self.root.update() self.assertEqual(f2.winfo_height(), 120) f2.place_configure(height='') self.root.update() self.assertEqual(f2.winfo_height(), 60) with self.assertRaisesRegexp(TclError, 'bad screen distance "abcd"'): f2.place_configure(height='abcd') def test_place_configure_relwidth(self): t, f, f2 = self.create2() f2.place_configure(in_=f, relwidth=0.5) self.root.update() self.assertEqual(f2.winfo_width(), 75) f2.place_configure(relwidth='') self.root.update() self.assertEqual(f2.winfo_width(), 30) with self.assertRaisesRegexp(TclError, 'expected floating-point number ' 'but got "abcd"'): f2.place_configure(relwidth='abcd') def test_place_configure_relheight(self): t, f, f2 = self.create2() f2.place_configure(in_=f, relheight=0.5) self.root.update() self.assertEqual(f2.winfo_height(), 40) f2.place_configure(relheight='') self.root.update() self.assertEqual(f2.winfo_height(), 60) with self.assertRaisesRegexp(TclError, 'expected floating-point number ' 'but got "abcd"'): f2.place_configure(relheight='abcd') def test_place_configure_bordermode(self): f = tkinter.Frame(self.root) with self.assertRaisesRegexp(TclError, 'bad bordermode "j"'): f.place_configure(bordermode='j') with self.assertRaisesRegexp(TclError, 'ambiguous bordermode ""'): f.place_configure(bordermode='') for value in 'inside', 'outside', 'ignore': f.place_configure(bordermode=value) self.assertEqual(f.place_info()['bordermode'], value) def test_place_forget(self): foo = tkinter.Frame(self.root) foo.place_configure(width=50, height=50) self.root.update() foo.place_forget() self.root.update() self.assertFalse(foo.winfo_ismapped()) with self.assertRaises(TypeError): foo.place_forget(0) def test_place_info(self): t, f, f2 = self.create2() f2.place_configure(in_=f, x=1, y=2, width=3, height=4, relx=0.1, rely=0.2, relwidth=0.3, relheight=0.4, anchor='se', bordermode='outside') info = f2.place_info() self.assertIsInstance(info, dict) self.assertEqual(info['x'], '1') self.assertEqual(info['y'], '2') self.assertEqual(info['width'], '3') self.assertEqual(info['height'], '4') self.assertEqual(info['relx'], '0.1') self.assertEqual(info['rely'], '0.2') self.assertEqual(info['relwidth'], '0.3') self.assertEqual(info['relheight'], '0.4') self.assertEqual(info['anchor'], 'se') self.assertEqual(info['bordermode'], 'outside') self.assertEqual(info['x'], '1') self.assertEqual(info['x'], '1') with self.assertRaises(TypeError): f2.place_info(0) def test_place_slaves(self): foo = tkinter.Frame(self.root) bar = tkinter.Frame(self.root) self.assertEqual(foo.place_slaves(), []) bar.place_configure(in_=foo) self.assertEqual(foo.place_slaves(), [bar]) with self.assertRaises(TypeError): foo.place_slaves(0) class GridTest(AbstractWidgetTest, unittest.TestCase): test_keys = None def tearDown(self): cols, rows = self.root.grid_size() for i in range(cols + 1): self.root.grid_columnconfigure(i, weight=0, minsize=0, pad=0, uniform='') for i in range(rows + 1): self.root.grid_rowconfigure(i, weight=0, minsize=0, pad=0, uniform='') self.root.grid_propagate(1) super(GridTest, self).tearDown() def test_grid_configure(self): b = tkinter.Button(self.root) self.assertEqual(b.grid_info(), {}) b.grid_configure() self.assertEqual(b.grid_info()['in'], self.root) self.assertEqual(b.grid_info()['column'], self._str(0)) self.assertEqual(b.grid_info()['row'], self._str(0)) b.grid_configure({'column': 1}, row=2) self.assertEqual(b.grid_info()['column'], self._str(1)) self.assertEqual(b.grid_info()['row'], self._str(2)) def test_grid_configure_column(self): b = tkinter.Button(self.root) with self.assertRaisesRegexp(TclError, 'bad column value "-1": ' 'must be a non-negative integer'): b.grid_configure(column=-1) b.grid_configure(column=2) self.assertEqual(b.grid_info()['column'], self._str(2)) def test_grid_configure_columnspan(self): b = tkinter.Button(self.root) with self.assertRaisesRegexp(TclError, 'bad columnspan value "0": ' 'must be a positive integer'): b.grid_configure(columnspan=0) b.grid_configure(columnspan=2) self.assertEqual(b.grid_info()['columnspan'], self._str(2)) def test_grid_configure_in(self): f = tkinter.Frame(self.root) b = tkinter.Button(self.root) self.assertEqual(b.grid_info(), {}) b.grid_configure() self.assertEqual(b.grid_info()['in'], self.root) b.grid_configure(in_=f) self.assertEqual(b.grid_info()['in'], f) b.grid_configure({'in': self.root}) self.assertEqual(b.grid_info()['in'], self.root) def test_grid_configure_ipadx(self): b = tkinter.Button(self.root) with self.assertRaisesRegexp(TclError, 'bad ipadx value "-1": ' 'must be positive screen distance'): b.grid_configure(ipadx=-1) b.grid_configure(ipadx=1) self.assertEqual(b.grid_info()['ipadx'], self._str(1)) b.grid_configure(ipadx='.5c') self.assertEqual(b.grid_info()['ipadx'], self._str(int_round(pixels_conv('.5c') * self.scaling))) def test_grid_configure_ipady(self): b = tkinter.Button(self.root) with self.assertRaisesRegexp(TclError, 'bad ipady value "-1": ' 'must be positive screen distance'): b.grid_configure(ipady=-1) b.grid_configure(ipady=1) self.assertEqual(b.grid_info()['ipady'], self._str(1)) b.grid_configure(ipady='.5c') self.assertEqual(b.grid_info()['ipady'], self._str(int_round(pixels_conv('.5c') * self.scaling))) def test_grid_configure_padx(self): b = tkinter.Button(self.root) with self.assertRaisesRegexp(TclError, 'bad pad value "-1": ' 'must be positive screen distance'): b.grid_configure(padx=-1) b.grid_configure(padx=1) self.assertEqual(b.grid_info()['padx'], self._str(1)) b.grid_configure(padx=(10, 5)) self.assertEqual(b.grid_info()['padx'], self._str((10, 5))) b.grid_configure(padx='.5c') self.assertEqual(b.grid_info()['padx'], self._str(int_round(pixels_conv('.5c') * self.scaling))) def test_grid_configure_pady(self): b = tkinter.Button(self.root) with self.assertRaisesRegexp(TclError, 'bad pad value "-1": ' 'must be positive screen distance'): b.grid_configure(pady=-1) b.grid_configure(pady=1) self.assertEqual(b.grid_info()['pady'], self._str(1)) b.grid_configure(pady=(10, 5)) self.assertEqual(b.grid_info()['pady'], self._str((10, 5))) b.grid_configure(pady='.5c') self.assertEqual(b.grid_info()['pady'], self._str(int_round(pixels_conv('.5c') * self.scaling))) def test_grid_configure_row(self): b = tkinter.Button(self.root) with self.assertRaisesRegexp(TclError, 'bad (row|grid) value "-1": ' 'must be a non-negative integer'): b.grid_configure(row=-1) b.grid_configure(row=2) self.assertEqual(b.grid_info()['row'], self._str(2)) def test_grid_configure_rownspan(self): b = tkinter.Button(self.root) with self.assertRaisesRegexp(TclError, 'bad rowspan value "0": ' 'must be a positive integer'): b.grid_configure(rowspan=0) b.grid_configure(rowspan=2) self.assertEqual(b.grid_info()['rowspan'], self._str(2)) def test_grid_configure_sticky(self): f = tkinter.Frame(self.root, bg='red') with self.assertRaisesRegexp(TclError, 'bad stickyness value "glue"'): f.grid_configure(sticky='glue') f.grid_configure(sticky='ne') self.assertEqual(f.grid_info()['sticky'], 'ne') f.grid_configure(sticky='n,s,e,w') self.assertEqual(f.grid_info()['sticky'], 'nesw') def test_grid_columnconfigure(self): with self.assertRaises(TypeError): self.root.grid_columnconfigure() self.assertEqual(self.root.grid_columnconfigure(0), {'minsize': 0, 'pad': 0, 'uniform': None, 'weight': 0}) with self.assertRaisesRegexp(TclError, 'bad option "-foo"'): self.root.grid_columnconfigure(0, 'foo') self.root.grid_columnconfigure((0, 3), weight=2) with self.assertRaisesRegexp(TclError, 'must specify a single element on retrieval'): self.root.grid_columnconfigure((0, 3)) b = tkinter.Button(self.root) b.grid_configure(column=0, row=0) if tcl_version >= (8, 5): self.root.grid_columnconfigure('all', weight=3) with self.assertRaisesRegexp(TclError, 'expected integer but got "all"'): self.root.grid_columnconfigure('all') self.assertEqual(self.root.grid_columnconfigure(0, 'weight'), 3) self.assertEqual(self.root.grid_columnconfigure(3, 'weight'), 2) self.assertEqual(self.root.grid_columnconfigure(265, 'weight'), 0) if tcl_version >= (8, 5): self.root.grid_columnconfigure(b, weight=4) self.assertEqual(self.root.grid_columnconfigure(0, 'weight'), 4) def test_grid_columnconfigure_minsize(self): with self.assertRaisesRegexp(TclError, 'bad screen distance "foo"'): self.root.grid_columnconfigure(0, minsize='foo') self.root.grid_columnconfigure(0, minsize=10) self.assertEqual(self.root.grid_columnconfigure(0, 'minsize'), 10) self.assertEqual(self.root.grid_columnconfigure(0)['minsize'], 10) def test_grid_columnconfigure_weight(self): with self.assertRaisesRegexp(TclError, 'expected integer but got "bad"'): self.root.grid_columnconfigure(0, weight='bad') with self.assertRaisesRegexp(TclError, 'invalid arg "-weight": ' 'should be non-negative'): self.root.grid_columnconfigure(0, weight=-3) self.root.grid_columnconfigure(0, weight=3) self.assertEqual(self.root.grid_columnconfigure(0, 'weight'), 3) self.assertEqual(self.root.grid_columnconfigure(0)['weight'], 3) def test_grid_columnconfigure_pad(self): with self.assertRaisesRegexp(TclError, 'bad screen distance "foo"'): self.root.grid_columnconfigure(0, pad='foo') with self.assertRaisesRegexp(TclError, 'invalid arg "-pad": ' 'should be non-negative'): self.root.grid_columnconfigure(0, pad=-3) self.root.grid_columnconfigure(0, pad=3) self.assertEqual(self.root.grid_columnconfigure(0, 'pad'), 3) self.assertEqual(self.root.grid_columnconfigure(0)['pad'], 3) def test_grid_columnconfigure_uniform(self): self.root.grid_columnconfigure(0, uniform='foo') self.assertEqual(self.root.grid_columnconfigure(0, 'uniform'), 'foo') self.assertEqual(self.root.grid_columnconfigure(0)['uniform'], 'foo') def test_grid_rowconfigure(self): with self.assertRaises(TypeError): self.root.grid_rowconfigure() self.assertEqual(self.root.grid_rowconfigure(0), {'minsize': 0, 'pad': 0, 'uniform': None, 'weight': 0}) with self.assertRaisesRegexp(TclError, 'bad option "-foo"'): self.root.grid_rowconfigure(0, 'foo') self.root.grid_rowconfigure((0, 3), weight=2) with self.assertRaisesRegexp(TclError, 'must specify a single element on retrieval'): self.root.grid_rowconfigure((0, 3)) b = tkinter.Button(self.root) b.grid_configure(column=0, row=0) if tcl_version >= (8, 5): self.root.grid_rowconfigure('all', weight=3) with self.assertRaisesRegexp(TclError, 'expected integer but got "all"'): self.root.grid_rowconfigure('all') self.assertEqual(self.root.grid_rowconfigure(0, 'weight'), 3) self.assertEqual(self.root.grid_rowconfigure(3, 'weight'), 2) self.assertEqual(self.root.grid_rowconfigure(265, 'weight'), 0) if tcl_version >= (8, 5): self.root.grid_rowconfigure(b, weight=4) self.assertEqual(self.root.grid_rowconfigure(0, 'weight'), 4) def test_grid_rowconfigure_minsize(self): with self.assertRaisesRegexp(TclError, 'bad screen distance "foo"'): self.root.grid_rowconfigure(0, minsize='foo') self.root.grid_rowconfigure(0, minsize=10) self.assertEqual(self.root.grid_rowconfigure(0, 'minsize'), 10) self.assertEqual(self.root.grid_rowconfigure(0)['minsize'], 10) def test_grid_rowconfigure_weight(self): with self.assertRaisesRegexp(TclError, 'expected integer but got "bad"'): self.root.grid_rowconfigure(0, weight='bad') with self.assertRaisesRegexp(TclError, 'invalid arg "-weight": ' 'should be non-negative'): self.root.grid_rowconfigure(0, weight=-3) self.root.grid_rowconfigure(0, weight=3) self.assertEqual(self.root.grid_rowconfigure(0, 'weight'), 3) self.assertEqual(self.root.grid_rowconfigure(0)['weight'], 3) def test_grid_rowconfigure_pad(self): with self.assertRaisesRegexp(TclError, 'bad screen distance "foo"'): self.root.grid_rowconfigure(0, pad='foo') with self.assertRaisesRegexp(TclError, 'invalid arg "-pad": ' 'should be non-negative'): self.root.grid_rowconfigure(0, pad=-3) self.root.grid_rowconfigure(0, pad=3) self.assertEqual(self.root.grid_rowconfigure(0, 'pad'), 3) self.assertEqual(self.root.grid_rowconfigure(0)['pad'], 3) def test_grid_rowconfigure_uniform(self): self.root.grid_rowconfigure(0, uniform='foo') self.assertEqual(self.root.grid_rowconfigure(0, 'uniform'), 'foo') self.assertEqual(self.root.grid_rowconfigure(0)['uniform'], 'foo') def test_grid_forget(self): b = tkinter.Button(self.root) c = tkinter.Button(self.root) b.grid_configure(row=2, column=2, rowspan=2, columnspan=2, padx=3, pady=4, sticky='ns') self.assertEqual(self.root.grid_slaves(), [b]) b.grid_forget() c.grid_forget() self.assertEqual(self.root.grid_slaves(), []) self.assertEqual(b.grid_info(), {}) b.grid_configure(row=0, column=0) info = b.grid_info() self.assertEqual(info['row'], self._str(0)) self.assertEqual(info['column'], self._str(0)) self.assertEqual(info['rowspan'], self._str(1)) self.assertEqual(info['columnspan'], self._str(1)) self.assertEqual(info['padx'], self._str(0)) self.assertEqual(info['pady'], self._str(0)) self.assertEqual(info['sticky'], '') def test_grid_remove(self): b = tkinter.Button(self.root) c = tkinter.Button(self.root) b.grid_configure(row=2, column=2, rowspan=2, columnspan=2, padx=3, pady=4, sticky='ns') self.assertEqual(self.root.grid_slaves(), [b]) b.grid_remove() c.grid_remove() self.assertEqual(self.root.grid_slaves(), []) self.assertEqual(b.grid_info(), {}) b.grid_configure(row=0, column=0) info = b.grid_info() self.assertEqual(info['row'], self._str(0)) self.assertEqual(info['column'], self._str(0)) self.assertEqual(info['rowspan'], self._str(2)) self.assertEqual(info['columnspan'], self._str(2)) self.assertEqual(info['padx'], self._str(3)) self.assertEqual(info['pady'], self._str(4)) self.assertEqual(info['sticky'], 'ns') def test_grid_info(self): b = tkinter.Button(self.root) self.assertEqual(b.grid_info(), {}) b.grid_configure(row=2, column=2, rowspan=2, columnspan=2, padx=3, pady=4, sticky='ns') info = b.grid_info() self.assertIsInstance(info, dict) self.assertEqual(info['in'], self.root) self.assertEqual(info['row'], self._str(2)) self.assertEqual(info['column'], self._str(2)) self.assertEqual(info['rowspan'], self._str(2)) self.assertEqual(info['columnspan'], self._str(2)) self.assertEqual(info['padx'], self._str(3)) self.assertEqual(info['pady'], self._str(4)) self.assertEqual(info['sticky'], 'ns') def test_grid_bbox(self): self.assertEqual(self.root.grid_bbox(), (0, 0, 0, 0)) self.assertEqual(self.root.grid_bbox(0, 0), (0, 0, 0, 0)) self.assertEqual(self.root.grid_bbox(0, 0, 1, 1), (0, 0, 0, 0)) with self.assertRaisesRegexp(TclError, 'expected integer but got "x"'): self.root.grid_bbox('x', 0) with self.assertRaisesRegexp(TclError, 'expected integer but got "x"'): self.root.grid_bbox(0, 'x') with self.assertRaisesRegexp(TclError, 'expected integer but got "x"'): self.root.grid_bbox(0, 0, 'x', 0) with self.assertRaisesRegexp(TclError, 'expected integer but got "x"'): self.root.grid_bbox(0, 0, 0, 'x') with self.assertRaises(TypeError): self.root.grid_bbox(0, 0, 0, 0, 0) t = self.root # de-maximize t.wm_geometry('1x1+0+0') t.wm_geometry('') f1 = tkinter.Frame(t, width=75, height=75, bg='red') f2 = tkinter.Frame(t, width=90, height=90, bg='blue') f1.grid_configure(row=0, column=0) f2.grid_configure(row=1, column=1) self.root.update() self.assertEqual(t.grid_bbox(), (0, 0, 165, 165)) self.assertEqual(t.grid_bbox(0, 0), (0, 0, 75, 75)) self.assertEqual(t.grid_bbox(0, 0, 1, 1), (0, 0, 165, 165)) self.assertEqual(t.grid_bbox(1, 1), (75, 75, 90, 90)) self.assertEqual(t.grid_bbox(10, 10, 0, 0), (0, 0, 165, 165)) self.assertEqual(t.grid_bbox(-2, -2, -1, -1), (0, 0, 0, 0)) self.assertEqual(t.grid_bbox(10, 10, 12, 12), (165, 165, 0, 0)) def test_grid_location(self): with self.assertRaises(TypeError): self.root.grid_location() with self.assertRaises(TypeError): self.root.grid_location(0) with self.assertRaises(TypeError): self.root.grid_location(0, 0, 0) with self.assertRaisesRegexp(TclError, 'bad screen distance "x"'): self.root.grid_location('x', 'y') with self.assertRaisesRegexp(TclError, 'bad screen distance "y"'): self.root.grid_location('1c', 'y') t = self.root # de-maximize t.wm_geometry('1x1+0+0') t.wm_geometry('') f = tkinter.Frame(t, width=200, height=100, highlightthickness=0, bg='red') self.assertEqual(f.grid_location(10, 10), (-1, -1)) f.grid_configure() self.root.update() self.assertEqual(t.grid_location(-10, -10), (-1, -1)) self.assertEqual(t.grid_location(-10, 0), (-1, 0)) self.assertEqual(t.grid_location(-1, 0), (-1, 0)) self.assertEqual(t.grid_location(0, -10), (0, -1)) self.assertEqual(t.grid_location(0, -1), (0, -1)) self.assertEqual(t.grid_location(0, 0), (0, 0)) self.assertEqual(t.grid_location(200, 0), (0, 0)) self.assertEqual(t.grid_location(201, 0), (1, 0)) self.assertEqual(t.grid_location(0, 100), (0, 0)) self.assertEqual(t.grid_location(0, 101), (0, 1)) self.assertEqual(t.grid_location(201, 101), (1, 1)) def test_grid_propagate(self): self.assertEqual(self.root.grid_propagate(), True) with self.assertRaises(TypeError): self.root.grid_propagate(False, False) self.root.grid_propagate(False) self.assertFalse(self.root.grid_propagate()) f = tkinter.Frame(self.root, width=100, height=100, bg='red') f.grid_configure(row=0, column=0) self.root.update() self.assertEqual(f.winfo_width(), 100) self.assertEqual(f.winfo_height(), 100) f.grid_propagate(False) g = tkinter.Frame(self.root, width=75, height=85, bg='green') g.grid_configure(in_=f, row=0, column=0) self.root.update() self.assertEqual(f.winfo_width(), 100) self.assertEqual(f.winfo_height(), 100) f.grid_propagate(True) self.root.update() self.assertEqual(f.winfo_width(), 75) self.assertEqual(f.winfo_height(), 85) def test_grid_size(self): with self.assertRaises(TypeError): self.root.grid_size(0) self.assertEqual(self.root.grid_size(), (0, 0)) f = tkinter.Scale(self.root) f.grid_configure(row=0, column=0) self.assertEqual(self.root.grid_size(), (1, 1)) f.grid_configure(row=4, column=5) self.assertEqual(self.root.grid_size(), (6, 5)) def test_grid_slaves(self): self.assertEqual(self.root.grid_slaves(), []) a = tkinter.Label(self.root) a.grid_configure(row=0, column=1) b = tkinter.Label(self.root) b.grid_configure(row=1, column=0) c = tkinter.Label(self.root) c.grid_configure(row=1, column=1) d = tkinter.Label(self.root) d.grid_configure(row=1, column=1) self.assertEqual(self.root.grid_slaves(), [d, c, b, a]) self.assertEqual(self.root.grid_slaves(row=0), [a]) self.assertEqual(self.root.grid_slaves(row=1), [d, c, b]) self.assertEqual(self.root.grid_slaves(column=0), [b]) self.assertEqual(self.root.grid_slaves(column=1), [d, c, a]) self.assertEqual(self.root.grid_slaves(row=1, column=1), [d, c]) tests_gui = ( PackTest, PlaceTest, GridTest, ) if __name__ == '__main__': run_unittest(*tests_gui) test_geometry_managers.pyc000064400000120324147205215210012031 0ustar00 zfc@sddlZddlZddlZddlmZddlmZmZddlm Z m Z m Z ddl m Z mZedde ejfdYZd e ejfd YZd e ejfd YZeeefZed kreendS(iN(tTclError(trequirest run_unittest(t pixels_convt tcl_versiont requires_tcl(tAbstractWidgetTestt int_roundtguitPackTestcBseZd ZdZdZdZdZdZdZ dZ dZ dZ d Z d Zd Zd ZRS(c Cstj|jdd}|jd|jddtj|dddddd d d }tj|dd dd ddd d}tj|ddddddd d}tj|dddd ddd d}|||||fS(Ntnametpacks 300x200+0+0itatwidthitheighti(tbgtredtbi2itbluetciPtgreentdtyellow(ttkintertTopleveltroott wm_geometryt wm_minsizetFrame(tselfR R RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pytcreate2s ''''cCs;|j\}}}}}|jtd||jd|WdQX|jtd|jddWdQX|jdd|jdd|jdd|jdd|j|j||||g|jd||j|j||||g|jd||j|j||||gdS(Nswindow "%s" isn't packedtaftersbad window path name ".foo"s.footsidettop(RtassertRaisesRegexpRtpack_configuret assertEqualt pack_slaves(RR R RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_configure_afters""csj\}}}}fd}|dd|dd|dd|dd |d d |d d |dd|dd|dddS(Ncs[jddddddddd d d td |jjjj|dS( NR R!tipadxitpadxi tipadyitpadyitexpandtanchor(R#tTrueRtupdateR$twinfo_geometry(R,tgeom(R R(sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pytcheck-s'  tns 30x70+135+20tnes 30x70+260+20tes 30x70+260+65tses 30x70+260+110tss 30x70+135+110tsws 30x70+10+110tws 30x70+10+65tnws 30x70+10+20tcenters 30x70+135+65(R(RR RRRR1((R RsG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_configure_anchor+s        cCs;|j\}}}}}|jtd||jd|WdQX|jtd|jddWdQX|jdd|jdd|jdd|jdd|j|j||||g|jd||j|j||||g|jd||j|j||||gdS(Nswindow "%s" isn't packedtbeforesbad window path name ".foo"s.fooR R!(RR"RR#R$R%(RR R RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_configure_before<s""cs{j\}fd}jddjddjddjdd|ddd d jddd d jddd d jddd tjddd d|ddddjddd d ddjddd d ddjddd tddjddd ddd|dddddS(Ncsyjjjj|djj|djj|djj|ddS(Niiii(RR.R$R/(tgeoms(R RRRR(sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyR1Ns  R tleftR!trighttbottoms 20x40+0+80s 50x30+135+0s 80x80+220+75s 40x30+100+170R+tyestonis 20x40+40+80s 50x30+175+35s 80x80+180+110s 40x30+100+135tfilltboths 100x200+0+0s 200x100+100+0s160x100+140+100s40x100+100+100(RR#R-(RR R1((R RRRRsG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_configure_expandLs"cCs2|j\}}}}}|jdd|jdd|jdd|jdd|jd||j|j||||g|jd||j|j|||g|j|j|g|jtd|f|jd|WdQX|jtd|jddWdQXdS(NR R!tin_scan't pack %s inside itselfsbad window path name ".foo"s.foo(RR#R$R%R"R(RR R RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_configure_inds" c sj\}}}fd}|dddddd|dddddd'|d dddd d|d dddd ddd |dddddddd|dddddd(dd|d dddd ddd|d dddd ddd dd|ddddd ddd)dd|dddddd|dddddd*|ddddd d|ddddd ddd |ddddd ddd+|d ddddddd|d!ddddd,dd|d#dddd ddd|d$dddd ddd dd|d%dddd ddd-ddjdd&jjdj|jd&jd d&jjd j|jd&dS(.Ncstjjj|jdtddjjjj|jj|dS(NR+RDRE(t pack_forgetR#R-RR.R$R/(tgeom1tgeom2tkwargs(R RR(sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyR1ws    s 20x40+260+80s 240x200+0+0R R@R(is 20x40+250+80i is 60x40+240+80R's 30x40+260+80s 250x200+0+0iRDtxs 20x40+249+80i is 30x40+255+80is 20x40+140+0s 300x160+0+40R!s 20x40+120+0ii(s 60x40+120+0s 30x40+135+0s 30x40+130+0s 260x40+20+0s 260x40+25+0is 300x40+0+0s 280x40+10+0s 280x40+5+0t1c(i i(i i(ii(ii((ii(ii(ii(RR#R$t pack_infot_strt winfo_pixels(RR RRR1((R RRsG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyt#test_pack_configure_padx_ipadx_fillusB      c sj\}}}fd}|dddddd|dddddd'|d dddd d|d dddd ddd |dddddddd|dddddd(dd|d dddd ddd|d dddd ddd dd|ddddd ddd)dd|dddddd|dddddd*|ddddd d|ddddd ddd |ddddd ddd+|d ddddddd|d!ddddd,dd|d#dddd ddd|d$dddd ddd dd|d%dddd ddd-ddjdd&jjdj|jd&jd d&jjd j|jd&dS(.Ncstjjj|jdtddjjjj|jj|dS(NR+RDRE(RIR#R-RR.R$R/(RJRKRL(R RR(sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyR1s    s 20x40+280+80s 280x200+0+0R R@R*is 20x40+280+70i is 20x80+280+60R)s 20x50+280+75iRDRMs 20x40+280+69i is 20x50+280+70is 20x40+140+20s 300x120+0+80R!s 20x40+140+0ii(s 20x80+140+0s 20x50+140+10s 300x130+0+70s 20x50+140+5s 300x40+0+20s 300x40+0+25is 300x80+0+0s 300x50+0+10s 300x50+0+5RN(i i(i i(ii(ii((ii(ii(ii(RR#R$RORPRQ(RR RRR1((R RRsG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyt#test_pack_configure_pady_ipady_fillsB      cstj\}}}fd}|ddd|ddd|dd d |d d d dS(Ncs}jd|jjd|jdtddjjjj|jj|dS(NR R+RDRE(R#R$ROR-RR.R/(R RJRK(R RR(sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyR1s  R!s 20x40+140+0s 300x160+0+40RAs 20x40+140+160s 300x160+0+0R?s 20x40+0+80s 280x200+20+0R@s 20x40+280+80s 280x200+0+0(R(RR RRR1((R RRsG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_configure_sides cCs|j\}}}}}|j|j|j|j|j|||g|j|j|j||g|j|j|j||g|jdS(N(RR#R$R%RI(RR R RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_forgets     cCs|j\}}}}}|jtd||jWdQX|j|jddd|dddtdd d d d d dddd |j}|j|t|j|dd|j|d|j d|j|dd|j|d||j|d |j d|j|d|j d|j|d |j d|j|d|j d|j|dd|j}|j|t|j|dd|j|d|j d|j|dd |j|d||j|d |j d |j|d|j d|j|d |j d |j|d|j d|j|dddS(Nswindow "%s" isn't packedR R@RGR,R6R+RDRMR'iR(i R)iR*iR:itnonetinR!i(ii(ii( RR"RROR#R-tassertIsInstancetdictR$RP(RR R RRRtinfo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_infos8 '  cCs|j\}}}}}|jdddd|j|jt|jj|j|jd|j|j d|jt |jj|j|jd|j|j ddS(NR i,Riii(( Rt configureR#tpack_propagatetFalseRR.R$twinfo_reqwidthtwinfo_reqheightR-(RR R RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_propagates     cCs~|j\}}}}}|j|jg|j|j|j|g|j|j|j||gdS(N(RR$R%R#(RR R RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_slavess   N(t__name__t __module__tNonet test_keysRR&R;R=RFRHRRRSRTRUR[RaRb(((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyR s      * *   t PlaceTestcBseZdZdZdZdZdZdZdZ dZ dZ dZ d Z d Zd Zd Zd ZdZRS(c Cstj|jdddddd}|jdtj|dddd dd d d }|jd dddtj|dddddd d d }|jj|||fS(NR i,Ritbdis 300x200+0+0iiTitrelieftraisedRMi0tyi&ii<(RRRRRtplace_configureR.(Rtttftf2((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyRs$ '' cCs|j\}}}|j|jd|jtdtjt||jd|WdQXt d kr|j|jdn|jtd|jddWdQX|jd||j|jddS( Nts!can't place %s relative to itselfRGiisbad window path nametspamtplace(ii( RR$t winfo_managerR"RtretescapetstrRlR(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_in$s  c Cs5|j\}}}|jd||j|jdd|jj|j|jd|jdd|j|jdd|jj|j|jd|jddd d |j|jdd |jj|j|jd |jtd |jd|ddWdQXdS(NRGRMt0i2idt100iitrelxis-10isbad screen distance "spam"Rq( RRlR$t place_infoRR.twinfo_xR"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_x1s   c Cs5|j\}}}|jd||j|jdd|jj|j|jd|jdd|j|jdd|jj|j|jd|jddd d |j|jdd |jj|j|jd |jtd |jd|ddWdQXdS(NRGRkRxi(i2t50iZitrelyis-10insbad screen distance "spam"Rq( RRlR$R{RR.twinfo_yR"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_yBs   c Cs/|j\}}}|jd||j|jdd|jj|j|jd|jdd|j|jdd|jj|j|jd|jdd|j|jdd |jj|j|jd |jtd |jd|dd WdQXdS( NRGRzRxi2g?s0.5i}it1is-expected floating-point number but got "spam"Rq( RRlR$R{RR.R|R"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_relxSs   c Cs/|j\}}}|jd||j|jdd|jj|j|jd|jdd|j|jdd|jj|j|jd|jdd|j|jdd |jj|j|jd |jtd |jd|dd WdQXdS( NRGRRxi(g?s0.5iPiRixs-expected floating-point number but got "spam"Rq( RRlR$R{RR.RR"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_relyes   c Cstj|j}|jtd|jddWdQX|jtd|jddWdQXx8dD]0}|jd||j|jd|qkWdS(Nsbad anchor "j"R,tjsambiguous anchor ""RpR2R3R4R5R6R7R8R9R:( R2R3R4R5R6R7R8R9R:(RRRR"RRlR$R{(RRntvalue((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_anchorws cCs|j\}}}|jd|dd|jj|j|jd|jdd|jj|j|jd|jtd|jddWdQXdS(NRGR ixRpisbad screen distance "abcd"tabcd(RRlRR.R$t winfo_widthR"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_widths  cCs|j\}}}|jd|dd|jj|j|jd|jdd|jj|j|jd|jtd|jddWdQXdS(NRGRixRpi<sbad screen distance "abcd"R(RRlRR.R$t winfo_heightR"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_heights  cCs|j\}}}|jd|dd|jj|j|jd|jdd|jj|j|jd|jtd|jddWdQXdS( NRGtrelwidthg?iKRpis-expected floating-point number but got "abcd"R(RRlRR.R$RR"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_relwidths  cCs|j\}}}|jd|dd|jj|j|jd|jdd|jj|j|jd|jtd|jddWdQXdS( NRGt relheightg?i(Rpi<s-expected floating-point number but got "abcd"R(RRlRR.R$RR"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_relheights  cCstj|j}|jtd|jddWdQX|jtd|jddWdQXx8d D]0}|jd||j|jd|qkWdS( Nsbad bordermode "j"t bordermodeRsambiguous bordermode ""Rptinsidetoutsidetignore(RRR(RRRR"RRlR$R{(RRnR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_bordermodes cCstj|j}|jdddd|jj|j|jj|j|j|jt |jdWdQXdS(NR i2Ri( RRRRlR.t place_forgett assertFalsetwinfo_ismappedt assertRaisest TypeError(Rtfoo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_forgets   cCs|j\}}}|jd|dddddddd d d d d dddddddd |j}|j|t|j|dd|j|dd|j|dd|j|dd|j|d d|j|d d|j|dd|j|dd|j|dd|j|dd|j|dd|j|dd|jt|jdWdQXdS(NRGRMiRkiR iRiRzg?Rg?Rg333333?Rg?R,R5RRRt2t3t4s0.1s0.2s0.3s0.4i(RRlR{RXRYR$RR(RRmRnRoRZ((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_infos('  cCstj|j}tj|j}|j|jg|jd||j|j|g|jt|jdWdQXdS(NRGi(RRRR$t place_slavesRlRR(RRtbar((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_slavessN(RcRdReRfRRwR}RRRRRRRRRRRR(((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyRgs      tGridTestcBseZdZdZdZdZdZdZdZ dZ dZ dZ d Z d Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!RS(c Cs|jj\}}x@t|dD].}|jj|ddddddddq&Wx@t|dD].}|jj|ddddddddqiW|jjdtt|jdS(NitweightitminsizetpadtuniformRp( Rt grid_sizetrangetgrid_columnconfiguretgrid_rowconfiguretgrid_propagatetsuperRttearDown(Rtcolstrowsti((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyRs,,cCstj|j}|j|ji|j|j|jd|j|j|jd|jd|j|jd|jd|jidd6dd|j|jd|jd|j|jd|jddS(NRWtcolumnitrowii(RtButtonRR$t grid_infotgrid_configureRP(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configures ###cCsrtj|j}|jtd|jddWdQX|jdd|j|jd|jddS(Ns5bad column value "-1": must be a non-negative integerRii( RRRR"RRR$RRP(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_columns cCsrtj|j}|jtd|jddWdQX|jdd|j|jd|jddS(Ns4bad columnspan value "0": must be a positive integert columnspanii( RRRR"RRR$RRP(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_columnspans cCstj|j}tj|j}|j|ji|j|j|jd|j|jd||j|jd||ji|jd6|j|jd|jdS(NRWRG(RRRRR$RR(RRnR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_in s cCstj|j}|jtd|jddWdQX|jdd|j|jd|jd|jdd|j|jd|jt t d|j dS(Ns6bad ipadx value "-1": must be positive screen distanceR'iis.5c( RRRR"RRR$RRPRRtscaling(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_ipadxs#cCstj|j}|jtd|jddWdQX|jdd|j|jd|jd|jdd|j|jd|jt t d|j dS(Ns6bad ipady value "-1": must be positive screen distanceR)iis.5c( RRRR"RRR$RRPRRR(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_ipady!s#cCstj|j}|jtd|jddWdQX|jdd|j|jd|jd|jdd|j|jd|jd |jdd|j|jd|jt t d|j dS( Ns4bad pad value "-1": must be positive screen distanceR(iii is.5c(i i(i i( RRRR"RRR$RRPRRR(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_padx,s##cCstj|j}|jtd|jddWdQX|jdd|j|jd|jd|jdd|j|jd|jd |jdd|j|jd|jt t d|j dS( Ns4bad pad value "-1": must be positive screen distanceR*iii is.5c(i i(i i( RRRR"RRR$RRPRRR(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_pady9s##cCsrtj|j}|jtd|jddWdQX|jdd|j|jd|jddS(Ns9bad (row|grid) value "-1": must be a non-negative integerRii( RRRR"RRR$RRP(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_rowFs cCsrtj|j}|jtd|jddWdQX|jdd|j|jd|jddS(Ns1bad rowspan value "0": must be a positive integertrowspanii( RRRR"RRR$RRP(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_rownspanNs cCstj|jdd}|jtd|jddWdQX|jdd|j|jdd|jdd|j|jdddS( NRRsbad stickyness value "glue"tstickytglueR3sn,s,e,wtnesw(RRRR"RRR$R(RRn((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_stickyVsc Cs|jt|jjWdQX|j|jjdidd6dd6dd6dd6|jtd|jjddWdQX|jjddd |jtd |jjdWdQXtj |j}|j d dd dt dkr[|jjddd|jtd|jjdWdQX|j|jjdddn|j|jjddd |j|jjdddt dkr|jj|dd|j|jjdddndS(NiRRRRsbad option "-foo"Riis*must specify a single element on retrievalRRiitallsexpected integer but got "all"i i(ii(ii(ii(ii( RRRRR$ReR"RRRRR(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_columnconfigure_s,#   " cCs|jtd|jjdddWdQX|jjddd|j|jjddd|j|jjddddS(Nsbad screen distance "foo"iRRi (R"RRRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyt!test_grid_columnconfigure_minsizews c Cs|jtd|jjdddWdQX|jtd|jjdddWdQX|jjddd|j|jjddd|j|jjddddS(Nsexpected integer but got "bad"iRtbads-invalid arg "-weight": should be non-negativeii(R"RRRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyt test_grid_columnconfigure_weight~sc Cs|jtd|jjdddWdQX|jtd|jjdddWdQX|jjddd|j|jjddd|j|jjddddS(Nsbad screen distance "foo"iRRs*invalid arg "-pad": should be non-negativeii(R"RRRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_columnconfigure_padscCsY|jjddd|j|jjddd|j|jjddddS(NiRR(RRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyt!test_grid_columnconfigure_uniformsc Cs|jt|jjWdQX|j|jjdidd6dd6dd6dd6|jtd|jjddWdQX|jjddd |jtd |jjdWdQXtj |j}|j d dd dt dkr[|jjddd|jtd|jjdWdQX|j|jjdddn|j|jjddd |j|jjdddt dkr|jj|dd|j|jjdddndS(NiRRRRsbad option "-foo"Riis*must specify a single element on retrievalRRiiRsexpected integer but got "all"i i(ii(ii(ii(ii( RRRRR$ReR"RRRRR(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_rowconfigures,#   " cCs|jtd|jjdddWdQX|jjddd|j|jjddd|j|jjddddS(Nsbad screen distance "foo"iRRi (R"RRRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_rowconfigure_minsizes c Cs|jtd|jjdddWdQX|jtd|jjdddWdQX|jjddd|j|jjddd|j|jjddddS(Nsexpected integer but got "bad"iRRs-invalid arg "-weight": should be non-negativeii(R"RRRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_rowconfigure_weightsc Cs|jtd|jjdddWdQX|jtd|jjdddWdQX|jjddd|j|jjddd|j|jjddddS(Nsbad screen distance "foo"iRRs*invalid arg "-pad": should be non-negativeii(R"RRRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_rowconfigure_padscCsY|jjddd|j|jjddd|j|jjddddS(NiRR(RRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_rowconfigure_uniformscCstj|j}tj|j}|jdddddddddddd d d |j|jj|g|j|j|j|jjg|j|ji|jdd dd |j}|j|d|jd |j|d|jd |j|d|jd |j|d|jd |j|d|jd |j|d|jd |j|d ddS(NRiRRRR(iR*iRtnsiiRp( RRRRR$t grid_slavest grid_forgetRRP(RRRRZ((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_forgets$!   cCstj|j}tj|j}|jdddddddddddd d d |j|jj|g|j|j|j|jjg|j|ji|jdd dd |j}|j|d|jd |j|d|jd |j|d|jd|j|d|jd|j|d|jd|j|d|jd |j|d d dS( NRiRRRR(iR*iRRi( RRRRR$Rt grid_removeRRP(RRRRZ((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_removes$!   cCsUtj|j}|j|ji|jdddddddddddd d d |j}|j|t|j|d |j|j|d|jd|j|d|jd|j|d|jd|j|d|jd|j|d|jd|j|d|jd |j|d d dS( NRiRRRR(iR*iRRRW( RRRR$RRRXRYRP(RRRZ((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_infos! cCs|j|jjd|j|jjddd|j|jjddddd|jtd|jjddWdQX|jtd|jjddWdQX|jtd|jjddddWdQX|jtd|jjddddWdQX|jt!|jjdddddWdQX|j}|jd|jdtj |ddd dd d }tj |dd d d d d }|j dddd|j dddd|jj |j|jd|j|jddd|j|jddddd|j|jddd|j|jddddd|j|jddddd|j|jddddddS(Niisexpected integer but got "x"RMs1x1+0+0RpR iKRRRiZRRRii iii (iiii(iiii(iiii(iiii(iiiKiK(iiii(iKiKiZiZ(iiii(iiii(iiii( R$Rt grid_bboxR"RRRRRRRR.(RRmtf1Ro((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_bboxs8%"   !! """cCs|jt|jjWdQX|jt|jjdWdQX|jt|jjdddWdQX|jtd|jjddWdQX|jtd|jjddWdQX|j}|jd|jdtj|d d d d d ddd}|j |jddd|j |jj |j |jddd|j |jddd|j |jddd|j |jddd|j |jddd|j |jddd|j |jd dd|j |jddd|j |jdd d|j |jddd |j |jddd!dS("Nisbad screen distance "x"RMRksbad screen distance "y"RNs1x1+0+0RpR iRidthighlightthicknessRRi iiiiie(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii( RRRt grid_locationR"RRRRR$RR.(RRmRn((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_location&s:     c Cs|j|jjt|jt|jjttWdQX|jjt|j|jjtj |jdddddd}|j dddd|jj |j|j d|j|j d|jttj |jdd dd dd }|j d |dddd|jj |j|j d|j|j d|jt|jj |j|j d |j|j d dS( NR idRRRRiRiKiURRG(R$RRR-RRR^RRRRR.RR(RRntg((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_propagateFs($  $   cCs|jt|jjdWdQX|j|jjdtj|j}|jdddd|j|jjd |jdddd|j|jjd dS( NiRRiiii(ii(ii(ii(RRRRR$RtScaleR(RRn((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_size\scCs|j|jjgtj|j}|jddddtj|j}|jddddtj|j}|jddddtj|j}|jdddd|j|jj||||g|j|jjdd|g|j|jjdd|||g|j|jjdd|g|j|jjdd|||g|j|jjdddd||gdS(NRiRi(R$RRRtLabelR(RR RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_slavesfs%"("(N("RcRdReRfRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR(((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyRs>                t__main__(tunittestRttTkinterRRttest.test_supportRRttest_ttk.supportRRRt widget_testsRRtTestCaseR RgRt tests_guiRc(((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyts      test_geometry_managers.pyo000064400000120324147205215210012045 0ustar00 zfc@sddlZddlZddlZddlmZddlmZmZddlm Z m Z m Z ddl m Z mZedde ejfdYZd e ejfd YZd e ejfd YZeeefZed kreendS(iN(tTclError(trequirest run_unittest(t pixels_convt tcl_versiont requires_tcl(tAbstractWidgetTestt int_roundtguitPackTestcBseZd ZdZdZdZdZdZdZ dZ dZ dZ d Z d Zd Zd ZRS(c Cstj|jdd}|jd|jddtj|dddddd d d }tj|dd dd ddd d}tj|ddddddd d}tj|dddd ddd d}|||||fS(Ntnametpacks 300x200+0+0itatwidthitheighti(tbgtredtbi2itbluetciPtgreentdtyellow(ttkintertTopleveltroott wm_geometryt wm_minsizetFrame(tselfR R RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pytcreate2s ''''cCs;|j\}}}}}|jtd||jd|WdQX|jtd|jddWdQX|jdd|jdd|jdd|jdd|j|j||||g|jd||j|j||||g|jd||j|j||||gdS(Nswindow "%s" isn't packedtaftersbad window path name ".foo"s.footsidettop(RtassertRaisesRegexpRtpack_configuret assertEqualt pack_slaves(RR R RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_configure_afters""csj\}}}}fd}|dd|dd|dd|dd |d d |d d |dd|dd|dddS(Ncs[jddddddddd d d td |jjjj|dS( NR R!tipadxitpadxi tipadyitpadyitexpandtanchor(R#tTrueRtupdateR$twinfo_geometry(R,tgeom(R R(sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pytcheck-s'  tns 30x70+135+20tnes 30x70+260+20tes 30x70+260+65tses 30x70+260+110tss 30x70+135+110tsws 30x70+10+110tws 30x70+10+65tnws 30x70+10+20tcenters 30x70+135+65(R(RR RRRR1((R RsG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_configure_anchor+s        cCs;|j\}}}}}|jtd||jd|WdQX|jtd|jddWdQX|jdd|jdd|jdd|jdd|j|j||||g|jd||j|j||||g|jd||j|j||||gdS(Nswindow "%s" isn't packedtbeforesbad window path name ".foo"s.fooR R!(RR"RR#R$R%(RR R RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_configure_before<s""cs{j\}fd}jddjddjddjdd|ddd d jddd d jddd d jddd tjddd d|ddddjddd d ddjddd d ddjddd tddjddd ddd|dddddS(Ncsyjjjj|djj|djj|djj|ddS(Niiii(RR.R$R/(tgeoms(R RRRR(sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyR1Ns  R tleftR!trighttbottoms 20x40+0+80s 50x30+135+0s 80x80+220+75s 40x30+100+170R+tyestonis 20x40+40+80s 50x30+175+35s 80x80+180+110s 40x30+100+135tfilltboths 100x200+0+0s 200x100+100+0s160x100+140+100s40x100+100+100(RR#R-(RR R1((R RRRRsG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_configure_expandLs"cCs2|j\}}}}}|jdd|jdd|jdd|jdd|jd||j|j||||g|jd||j|j|||g|j|j|g|jtd|f|jd|WdQX|jtd|jddWdQXdS(NR R!tin_scan't pack %s inside itselfsbad window path name ".foo"s.foo(RR#R$R%R"R(RR R RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_configure_inds" c sj\}}}fd}|dddddd|dddddd'|d dddd d|d dddd ddd |dddddddd|dddddd(dd|d dddd ddd|d dddd ddd dd|ddddd ddd)dd|dddddd|dddddd*|ddddd d|ddddd ddd |ddddd ddd+|d ddddddd|d!ddddd,dd|d#dddd ddd|d$dddd ddd dd|d%dddd ddd-ddjdd&jjdj|jd&jd d&jjd j|jd&dS(.Ncstjjj|jdtddjjjj|jj|dS(NR+RDRE(t pack_forgetR#R-RR.R$R/(tgeom1tgeom2tkwargs(R RR(sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyR1ws    s 20x40+260+80s 240x200+0+0R R@R(is 20x40+250+80i is 60x40+240+80R's 30x40+260+80s 250x200+0+0iRDtxs 20x40+249+80i is 30x40+255+80is 20x40+140+0s 300x160+0+40R!s 20x40+120+0ii(s 60x40+120+0s 30x40+135+0s 30x40+130+0s 260x40+20+0s 260x40+25+0is 300x40+0+0s 280x40+10+0s 280x40+5+0t1c(i i(i i(ii(ii((ii(ii(ii(RR#R$t pack_infot_strt winfo_pixels(RR RRR1((R RRsG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyt#test_pack_configure_padx_ipadx_fillusB      c sj\}}}fd}|dddddd|dddddd'|d dddd d|d dddd ddd |dddddddd|dddddd(dd|d dddd ddd|d dddd ddd dd|ddddd ddd)dd|dddddd|dddddd*|ddddd d|ddddd ddd |ddddd ddd+|d ddddddd|d!ddddd,dd|d#dddd ddd|d$dddd ddd dd|d%dddd ddd-ddjdd&jjdj|jd&jd d&jjd j|jd&dS(.Ncstjjj|jdtddjjjj|jj|dS(NR+RDRE(RIR#R-RR.R$R/(RJRKRL(R RR(sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyR1s    s 20x40+280+80s 280x200+0+0R R@R*is 20x40+280+70i is 20x80+280+60R)s 20x50+280+75iRDRMs 20x40+280+69i is 20x50+280+70is 20x40+140+20s 300x120+0+80R!s 20x40+140+0ii(s 20x80+140+0s 20x50+140+10s 300x130+0+70s 20x50+140+5s 300x40+0+20s 300x40+0+25is 300x80+0+0s 300x50+0+10s 300x50+0+5RN(i i(i i(ii(ii((ii(ii(ii(RR#R$RORPRQ(RR RRR1((R RRsG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyt#test_pack_configure_pady_ipady_fillsB      cstj\}}}fd}|ddd|ddd|dd d |d d d dS(Ncs}jd|jjd|jdtddjjjj|jj|dS(NR R+RDRE(R#R$ROR-RR.R/(R RJRK(R RR(sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyR1s  R!s 20x40+140+0s 300x160+0+40RAs 20x40+140+160s 300x160+0+0R?s 20x40+0+80s 280x200+20+0R@s 20x40+280+80s 280x200+0+0(R(RR RRR1((R RRsG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_configure_sides cCs|j\}}}}}|j|j|j|j|j|||g|j|j|j||g|j|j|j||g|jdS(N(RR#R$R%RI(RR R RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_forgets     cCs|j\}}}}}|jtd||jWdQX|j|jddd|dddtdd d d d d dddd |j}|j|t|j|dd|j|d|j d|j|dd|j|d||j|d |j d|j|d|j d|j|d |j d|j|d|j d|j|dd|j}|j|t|j|dd|j|d|j d|j|dd |j|d||j|d |j d |j|d|j d|j|d |j d |j|d|j d|j|dddS(Nswindow "%s" isn't packedR R@RGR,R6R+RDRMR'iR(i R)iR*iR:itnonetinR!i(ii(ii( RR"RROR#R-tassertIsInstancetdictR$RP(RR R RRRtinfo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_infos8 '  cCs|j\}}}}}|jdddd|j|jt|jj|j|jd|j|j d|jt |jj|j|jd|j|j ddS(NR i,Riii(( Rt configureR#tpack_propagatetFalseRR.R$twinfo_reqwidthtwinfo_reqheightR-(RR R RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_propagates     cCs~|j\}}}}}|j|jg|j|j|j|g|j|j|j||gdS(N(RR$R%R#(RR R RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_pack_slavess   N(t__name__t __module__tNonet test_keysRR&R;R=RFRHRRRSRTRUR[RaRb(((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyR s      * *   t PlaceTestcBseZdZdZdZdZdZdZdZ dZ dZ dZ d Z d Zd Zd Zd ZdZRS(c Cstj|jdddddd}|jdtj|dddd dd d d }|jd dddtj|dddddd d d }|jj|||fS(NR i,Ritbdis 300x200+0+0iiTitrelieftraisedRMi0tyi&ii<(RRRRRtplace_configureR.(Rtttftf2((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyRs$ '' cCs|j\}}}|j|jd|jtdtjt||jd|WdQXt d kr|j|jdn|jtd|jddWdQX|jd||j|jddS( Nts!can't place %s relative to itselfRGiisbad window path nametspamtplace(ii( RR$t winfo_managerR"RtretescapetstrRlR(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_in$s  c Cs5|j\}}}|jd||j|jdd|jj|j|jd|jdd|j|jdd|jj|j|jd|jddd d |j|jdd |jj|j|jd |jtd |jd|ddWdQXdS(NRGRMt0i2idt100iitrelxis-10isbad screen distance "spam"Rq( RRlR$t place_infoRR.twinfo_xR"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_x1s   c Cs5|j\}}}|jd||j|jdd|jj|j|jd|jdd|j|jdd|jj|j|jd|jddd d |j|jdd |jj|j|jd |jtd |jd|ddWdQXdS(NRGRkRxi(i2t50iZitrelyis-10insbad screen distance "spam"Rq( RRlR$R{RR.twinfo_yR"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_yBs   c Cs/|j\}}}|jd||j|jdd|jj|j|jd|jdd|j|jdd|jj|j|jd|jdd|j|jdd |jj|j|jd |jtd |jd|dd WdQXdS( NRGRzRxi2g?s0.5i}it1is-expected floating-point number but got "spam"Rq( RRlR$R{RR.R|R"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_relxSs   c Cs/|j\}}}|jd||j|jdd|jj|j|jd|jdd|j|jdd|jj|j|jd|jdd|j|jdd |jj|j|jd |jtd |jd|dd WdQXdS( NRGRRxi(g?s0.5iPiRixs-expected floating-point number but got "spam"Rq( RRlR$R{RR.RR"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_relyes   c Cstj|j}|jtd|jddWdQX|jtd|jddWdQXx8dD]0}|jd||j|jd|qkWdS(Nsbad anchor "j"R,tjsambiguous anchor ""RpR2R3R4R5R6R7R8R9R:( R2R3R4R5R6R7R8R9R:(RRRR"RRlR$R{(RRntvalue((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_anchorws cCs|j\}}}|jd|dd|jj|j|jd|jdd|jj|j|jd|jtd|jddWdQXdS(NRGR ixRpisbad screen distance "abcd"tabcd(RRlRR.R$t winfo_widthR"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_widths  cCs|j\}}}|jd|dd|jj|j|jd|jdd|jj|j|jd|jtd|jddWdQXdS(NRGRixRpi<sbad screen distance "abcd"R(RRlRR.R$t winfo_heightR"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_heights  cCs|j\}}}|jd|dd|jj|j|jd|jdd|jj|j|jd|jtd|jddWdQXdS( NRGtrelwidthg?iKRpis-expected floating-point number but got "abcd"R(RRlRR.R$RR"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_relwidths  cCs|j\}}}|jd|dd|jj|j|jd|jdd|jj|j|jd|jtd|jddWdQXdS( NRGt relheightg?i(Rpi<s-expected floating-point number but got "abcd"R(RRlRR.R$RR"R(RRmRnRo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_relheights  cCstj|j}|jtd|jddWdQX|jtd|jddWdQXx8d D]0}|jd||j|jd|qkWdS( Nsbad bordermode "j"t bordermodeRsambiguous bordermode ""Rptinsidetoutsidetignore(RRR(RRRR"RRlR$R{(RRnR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_configure_bordermodes cCstj|j}|jdddd|jj|j|jj|j|j|jt |jdWdQXdS(NR i2Ri( RRRRlR.t place_forgett assertFalsetwinfo_ismappedt assertRaisest TypeError(Rtfoo((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_forgets   cCs|j\}}}|jd|dddddddd d d d d dddddddd |j}|j|t|j|dd|j|dd|j|dd|j|dd|j|d d|j|d d|j|dd|j|dd|j|dd|j|dd|j|dd|j|dd|jt|jdWdQXdS(NRGRMiRkiR iRiRzg?Rg?Rg333333?Rg?R,R5RRRt2t3t4s0.1s0.2s0.3s0.4i(RRlR{RXRYR$RR(RRmRnRoRZ((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_infos('  cCstj|j}tj|j}|j|jg|jd||j|j|g|jt|jdWdQXdS(NRGi(RRRR$t place_slavesRlRR(RRtbar((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_place_slavessN(RcRdReRfRRwR}RRRRRRRRRRRR(((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyRgs      tGridTestcBseZdZdZdZdZdZdZdZ dZ dZ dZ d Z d Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!RS(c Cs|jj\}}x@t|dD].}|jj|ddddddddq&Wx@t|dD].}|jj|ddddddddqiW|jjdtt|jdS(NitweightitminsizetpadtuniformRp( Rt grid_sizetrangetgrid_columnconfiguretgrid_rowconfiguretgrid_propagatetsuperRttearDown(Rtcolstrowsti((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyRs,,cCstj|j}|j|ji|j|j|jd|j|j|jd|jd|j|jd|jd|jidd6dd|j|jd|jd|j|jd|jddS(NRWtcolumnitrowii(RtButtonRR$t grid_infotgrid_configureRP(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configures ###cCsrtj|j}|jtd|jddWdQX|jdd|j|jd|jddS(Ns5bad column value "-1": must be a non-negative integerRii( RRRR"RRR$RRP(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_columns cCsrtj|j}|jtd|jddWdQX|jdd|j|jd|jddS(Ns4bad columnspan value "0": must be a positive integert columnspanii( RRRR"RRR$RRP(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_columnspans cCstj|j}tj|j}|j|ji|j|j|jd|j|jd||j|jd||ji|jd6|j|jd|jdS(NRWRG(RRRRR$RR(RRnR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_in s cCstj|j}|jtd|jddWdQX|jdd|j|jd|jd|jdd|j|jd|jt t d|j dS(Ns6bad ipadx value "-1": must be positive screen distanceR'iis.5c( RRRR"RRR$RRPRRtscaling(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_ipadxs#cCstj|j}|jtd|jddWdQX|jdd|j|jd|jd|jdd|j|jd|jt t d|j dS(Ns6bad ipady value "-1": must be positive screen distanceR)iis.5c( RRRR"RRR$RRPRRR(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_ipady!s#cCstj|j}|jtd|jddWdQX|jdd|j|jd|jd|jdd|j|jd|jd |jdd|j|jd|jt t d|j dS( Ns4bad pad value "-1": must be positive screen distanceR(iii is.5c(i i(i i( RRRR"RRR$RRPRRR(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_padx,s##cCstj|j}|jtd|jddWdQX|jdd|j|jd|jd|jdd|j|jd|jd |jdd|j|jd|jt t d|j dS( Ns4bad pad value "-1": must be positive screen distanceR*iii is.5c(i i(i i( RRRR"RRR$RRPRRR(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_pady9s##cCsrtj|j}|jtd|jddWdQX|jdd|j|jd|jddS(Ns9bad (row|grid) value "-1": must be a non-negative integerRii( RRRR"RRR$RRP(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_rowFs cCsrtj|j}|jtd|jddWdQX|jdd|j|jd|jddS(Ns1bad rowspan value "0": must be a positive integertrowspanii( RRRR"RRR$RRP(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_rownspanNs cCstj|jdd}|jtd|jddWdQX|jdd|j|jdd|jdd|j|jdddS( NRRsbad stickyness value "glue"tstickytglueR3sn,s,e,wtnesw(RRRR"RRR$R(RRn((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_configure_stickyVsc Cs|jt|jjWdQX|j|jjdidd6dd6dd6dd6|jtd|jjddWdQX|jjddd |jtd |jjdWdQXtj |j}|j d dd dt dkr[|jjddd|jtd|jjdWdQX|j|jjdddn|j|jjddd |j|jjdddt dkr|jj|dd|j|jjdddndS(NiRRRRsbad option "-foo"Riis*must specify a single element on retrievalRRiitallsexpected integer but got "all"i i(ii(ii(ii(ii( RRRRR$ReR"RRRRR(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_columnconfigure_s,#   " cCs|jtd|jjdddWdQX|jjddd|j|jjddd|j|jjddddS(Nsbad screen distance "foo"iRRi (R"RRRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyt!test_grid_columnconfigure_minsizews c Cs|jtd|jjdddWdQX|jtd|jjdddWdQX|jjddd|j|jjddd|j|jjddddS(Nsexpected integer but got "bad"iRtbads-invalid arg "-weight": should be non-negativeii(R"RRRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyt test_grid_columnconfigure_weight~sc Cs|jtd|jjdddWdQX|jtd|jjdddWdQX|jjddd|j|jjddd|j|jjddddS(Nsbad screen distance "foo"iRRs*invalid arg "-pad": should be non-negativeii(R"RRRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_columnconfigure_padscCsY|jjddd|j|jjddd|j|jjddddS(NiRR(RRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyt!test_grid_columnconfigure_uniformsc Cs|jt|jjWdQX|j|jjdidd6dd6dd6dd6|jtd|jjddWdQX|jjddd |jtd |jjdWdQXtj |j}|j d dd dt dkr[|jjddd|jtd|jjdWdQX|j|jjdddn|j|jjddd |j|jjdddt dkr|jj|dd|j|jjdddndS(NiRRRRsbad option "-foo"Riis*must specify a single element on retrievalRRiiRsexpected integer but got "all"i i(ii(ii(ii(ii( RRRRR$ReR"RRRRR(RR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_rowconfigures,#   " cCs|jtd|jjdddWdQX|jjddd|j|jjddd|j|jjddddS(Nsbad screen distance "foo"iRRi (R"RRRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_rowconfigure_minsizes c Cs|jtd|jjdddWdQX|jtd|jjdddWdQX|jjddd|j|jjddd|j|jjddddS(Nsexpected integer but got "bad"iRRs-invalid arg "-weight": should be non-negativeii(R"RRRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_rowconfigure_weightsc Cs|jtd|jjdddWdQX|jtd|jjdddWdQX|jjddd|j|jjddd|j|jjddddS(Nsbad screen distance "foo"iRRs*invalid arg "-pad": should be non-negativeii(R"RRRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_rowconfigure_padscCsY|jjddd|j|jjddd|j|jjddddS(NiRR(RRR$(R((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_rowconfigure_uniformscCstj|j}tj|j}|jdddddddddddd d d |j|jj|g|j|j|j|jjg|j|ji|jdd dd |j}|j|d|jd |j|d|jd |j|d|jd |j|d|jd |j|d|jd |j|d|jd |j|d ddS(NRiRRRR(iR*iRtnsiiRp( RRRRR$t grid_slavest grid_forgetRRP(RRRRZ((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_forgets$!   cCstj|j}tj|j}|jdddddddddddd d d |j|jj|g|j|j|j|jjg|j|ji|jdd dd |j}|j|d|jd |j|d|jd |j|d|jd|j|d|jd|j|d|jd|j|d|jd |j|d d dS( NRiRRRR(iR*iRRi( RRRRR$Rt grid_removeRRP(RRRRZ((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_removes$!   cCsUtj|j}|j|ji|jdddddddddddd d d |j}|j|t|j|d |j|j|d|jd|j|d|jd|j|d|jd|j|d|jd|j|d|jd|j|d|jd |j|d d dS( NRiRRRR(iR*iRRRW( RRRR$RRRXRYRP(RRRZ((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_infos! cCs|j|jjd|j|jjddd|j|jjddddd|jtd|jjddWdQX|jtd|jjddWdQX|jtd|jjddddWdQX|jtd|jjddddWdQX|jt!|jjdddddWdQX|j}|jd|jdtj |ddd dd d }tj |dd d d d d }|j dddd|j dddd|jj |j|jd|j|jddd|j|jddddd|j|jddd|j|jddddd|j|jddddd|j|jddddddS(Niisexpected integer but got "x"RMs1x1+0+0RpR iKRRRiZRRRii iii (iiii(iiii(iiii(iiii(iiiKiK(iiii(iKiKiZiZ(iiii(iiii(iiii( R$Rt grid_bboxR"RRRRRRRR.(RRmtf1Ro((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_bboxs8%"   !! """cCs|jt|jjWdQX|jt|jjdWdQX|jt|jjdddWdQX|jtd|jjddWdQX|jtd|jjddWdQX|j}|jd|jdtj|d d d d d ddd}|j |jddd|j |jj |j |jddd|j |jddd|j |jddd|j |jddd|j |jddd|j |jddd|j |jd dd|j |jddd|j |jdd d|j |jddd |j |jddd!dS("Nisbad screen distance "x"RMRksbad screen distance "y"RNs1x1+0+0RpR iRidthighlightthicknessRRi iiiiie(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii(ii( RRRt grid_locationR"RRRRR$RR.(RRmRn((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_location&s:     c Cs|j|jjt|jt|jjttWdQX|jjt|j|jjtj |jdddddd}|j dddd|jj |j|j d|j|j d|jttj |jdd dd dd }|j d |dddd|jj |j|j d|j|j d|jt|jj |j|j d |j|j d dS( NR idRRRRiRiKiURRG(R$RRR-RRR^RRRRR.RR(RRntg((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_propagateFs($  $   cCs|jt|jjdWdQX|j|jjdtj|j}|jdddd|j|jjd |jdddd|j|jjd dS( NiRRiiii(ii(ii(ii(RRRRR$RtScaleR(RRn((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_size\scCs|j|jjgtj|j}|jddddtj|j}|jddddtj|j}|jddddtj|j}|jdddd|j|jj||||g|j|jjdd|g|j|jjdd|||g|j|jjdd|g|j|jjdd|||g|j|jjdddd||gdS(NRiRi(R$RRRtLabelR(RR RRR((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyttest_grid_slavesfs%"("(N("RcRdReRfRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR(((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyRs>                t__main__(tunittestRttTkinterRRttest.test_supportRRttest_ttk.supportRRRt widget_testsRRtTestCaseR RgRt tests_guiRc(((sG/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_geometry_managers.pyts      test_images.py000064400000032050147205215210007421 0ustar00import unittest import Tkinter as tkinter import ttk import test.test_support as support from test_ttk.support import AbstractTkTest, requires_tcl support.requires('gui') class MiscTest(AbstractTkTest, unittest.TestCase): def test_image_types(self): image_types = self.root.image_types() self.assertIsInstance(image_types, tuple) self.assertIn('photo', image_types) self.assertIn('bitmap', image_types) def test_image_names(self): image_names = self.root.image_names() self.assertIsInstance(image_names, tuple) class BitmapImageTest(AbstractTkTest, unittest.TestCase): @classmethod def setUpClass(cls): AbstractTkTest.setUpClass.__func__(cls) cls.testfile = support.findfile('python.xbm', subdir='imghdrdata') def test_create_from_file(self): image = tkinter.BitmapImage('::img::test', master=self.root, foreground='yellow', background='blue', file=self.testfile) self.assertEqual(str(image), '::img::test') self.assertEqual(image.type(), 'bitmap') self.assertEqual(image.width(), 16) self.assertEqual(image.height(), 16) self.assertIn('::img::test', self.root.image_names()) del image self.assertNotIn('::img::test', self.root.image_names()) def test_create_from_data(self): with open(self.testfile, 'rb') as f: data = f.read() image = tkinter.BitmapImage('::img::test', master=self.root, foreground='yellow', background='blue', data=data) self.assertEqual(str(image), '::img::test') self.assertEqual(image.type(), 'bitmap') self.assertEqual(image.width(), 16) self.assertEqual(image.height(), 16) self.assertIn('::img::test', self.root.image_names()) del image self.assertNotIn('::img::test', self.root.image_names()) def assertEqualStrList(self, actual, expected): self.assertIsInstance(actual, str) self.assertEqual(self.root.splitlist(actual), expected) def test_configure_data(self): image = tkinter.BitmapImage('::img::test', master=self.root) self.assertEqual(image['data'], '-data {} {} {} {}') with open(self.testfile, 'rb') as f: data = f.read() image.configure(data=data) self.assertEqualStrList(image['data'], ('-data', '', '', '', data)) self.assertEqual(image.width(), 16) self.assertEqual(image.height(), 16) self.assertEqual(image['maskdata'], '-maskdata {} {} {} {}') image.configure(maskdata=data) self.assertEqualStrList(image['maskdata'], ('-maskdata', '', '', '', data)) def test_configure_file(self): image = tkinter.BitmapImage('::img::test', master=self.root) self.assertEqual(image['file'], '-file {} {} {} {}') image.configure(file=self.testfile) self.assertEqualStrList(image['file'], ('-file', '', '', '',self.testfile)) self.assertEqual(image.width(), 16) self.assertEqual(image.height(), 16) self.assertEqual(image['maskfile'], '-maskfile {} {} {} {}') image.configure(maskfile=self.testfile) self.assertEqualStrList(image['maskfile'], ('-maskfile', '', '', '', self.testfile)) def test_configure_background(self): image = tkinter.BitmapImage('::img::test', master=self.root) self.assertEqual(image['background'], '-background {} {} {} {}') image.configure(background='blue') self.assertEqual(image['background'], '-background {} {} {} blue') def test_configure_foreground(self): image = tkinter.BitmapImage('::img::test', master=self.root) self.assertEqual(image['foreground'], '-foreground {} {} #000000 #000000') image.configure(foreground='yellow') self.assertEqual(image['foreground'], '-foreground {} {} #000000 yellow') class PhotoImageTest(AbstractTkTest, unittest.TestCase): @classmethod def setUpClass(cls): AbstractTkTest.setUpClass.__func__(cls) cls.testfile = support.findfile('python.gif', subdir='imghdrdata') def create(self): return tkinter.PhotoImage('::img::test', master=self.root, file=self.testfile) def colorlist(self, *args): if tkinter.TkVersion >= 8.6 and self.wantobjects: return args else: return tkinter._join(args) def check_create_from_file(self, ext): testfile = support.findfile('python.' + ext, subdir='imghdrdata') image = tkinter.PhotoImage('::img::test', master=self.root, file=testfile) self.assertEqual(str(image), '::img::test') self.assertEqual(image.type(), 'photo') self.assertEqual(image.width(), 16) self.assertEqual(image.height(), 16) self.assertEqual(image['data'], '') self.assertEqual(image['file'], testfile) self.assertIn('::img::test', self.root.image_names()) del image self.assertNotIn('::img::test', self.root.image_names()) def check_create_from_data(self, ext): testfile = support.findfile('python.' + ext, subdir='imghdrdata') with open(testfile, 'rb') as f: data = f.read() image = tkinter.PhotoImage('::img::test', master=self.root, data=data) self.assertEqual(str(image), '::img::test') self.assertEqual(image.type(), 'photo') self.assertEqual(image.width(), 16) self.assertEqual(image.height(), 16) self.assertEqual(image['data'], data if self.wantobjects else data.decode('latin1')) self.assertEqual(image['file'], '') self.assertIn('::img::test', self.root.image_names()) del image self.assertNotIn('::img::test', self.root.image_names()) def test_create_from_ppm_file(self): self.check_create_from_file('ppm') def test_create_from_ppm_data(self): self.check_create_from_data('ppm') def test_create_from_pgm_file(self): self.check_create_from_file('pgm') def test_create_from_pgm_data(self): self.check_create_from_data('pgm') def test_create_from_gif_file(self): self.check_create_from_file('gif') def test_create_from_gif_data(self): self.check_create_from_data('gif') @requires_tcl(8, 6) def test_create_from_png_file(self): self.check_create_from_file('png') @requires_tcl(8, 6) def test_create_from_png_data(self): self.check_create_from_data('png') def test_configure_data(self): image = tkinter.PhotoImage('::img::test', master=self.root) self.assertEqual(image['data'], '') with open(self.testfile, 'rb') as f: data = f.read() image.configure(data=data) self.assertEqual(image['data'], data if self.wantobjects else data.decode('latin1')) self.assertEqual(image.width(), 16) self.assertEqual(image.height(), 16) def test_configure_format(self): image = tkinter.PhotoImage('::img::test', master=self.root) self.assertEqual(image['format'], '') image.configure(file=self.testfile, format='gif') self.assertEqual(image['format'], ('gif',) if self.wantobjects else 'gif') self.assertEqual(image.width(), 16) self.assertEqual(image.height(), 16) def test_configure_file(self): image = tkinter.PhotoImage('::img::test', master=self.root) self.assertEqual(image['file'], '') image.configure(file=self.testfile) self.assertEqual(image['file'], self.testfile) self.assertEqual(image.width(), 16) self.assertEqual(image.height(), 16) def test_configure_gamma(self): image = tkinter.PhotoImage('::img::test', master=self.root) self.assertEqual(image['gamma'], '1.0') image.configure(gamma=2.0) self.assertEqual(image['gamma'], '2.0') def test_configure_width_height(self): image = tkinter.PhotoImage('::img::test', master=self.root) self.assertEqual(image['width'], '0') self.assertEqual(image['height'], '0') image.configure(width=20) image.configure(height=10) self.assertEqual(image['width'], '20') self.assertEqual(image['height'], '10') self.assertEqual(image.width(), 20) self.assertEqual(image.height(), 10) def test_configure_palette(self): image = tkinter.PhotoImage('::img::test', master=self.root) self.assertEqual(image['palette'], '') image.configure(palette=256) self.assertEqual(image['palette'], '256') image.configure(palette='3/4/2') self.assertEqual(image['palette'], '3/4/2') def test_blank(self): image = self.create() image.blank() self.assertEqual(image.width(), 16) self.assertEqual(image.height(), 16) self.assertEqual(image.get(4, 6), self.colorlist(0, 0, 0)) def test_copy(self): image = self.create() image2 = image.copy() self.assertEqual(image2.width(), 16) self.assertEqual(image2.height(), 16) self.assertEqual(image.get(4, 6), image.get(4, 6)) def test_subsample(self): image = self.create() image2 = image.subsample(2, 3) self.assertEqual(image2.width(), 8) self.assertEqual(image2.height(), 6) self.assertEqual(image2.get(2, 2), image.get(4, 6)) image2 = image.subsample(2) self.assertEqual(image2.width(), 8) self.assertEqual(image2.height(), 8) self.assertEqual(image2.get(2, 3), image.get(4, 6)) def test_zoom(self): image = self.create() image2 = image.zoom(2, 3) self.assertEqual(image2.width(), 32) self.assertEqual(image2.height(), 48) self.assertEqual(image2.get(8, 18), image.get(4, 6)) self.assertEqual(image2.get(9, 20), image.get(4, 6)) image2 = image.zoom(2) self.assertEqual(image2.width(), 32) self.assertEqual(image2.height(), 32) self.assertEqual(image2.get(8, 12), image.get(4, 6)) self.assertEqual(image2.get(9, 13), image.get(4, 6)) def test_put(self): image = self.create() image.put('{red green} {blue yellow}', to=(4, 6)) self.assertEqual(image.get(4, 6), self.colorlist(255, 0, 0)) self.assertEqual(image.get(5, 6), self.colorlist(0, 128 if tkinter.TkVersion >= 8.6 else 255, 0)) self.assertEqual(image.get(4, 7), self.colorlist(0, 0, 255)) self.assertEqual(image.get(5, 7), self.colorlist(255, 255, 0)) image.put((('#f00', '#00ff00'), ('#000000fff', '#ffffffff0000'))) self.assertEqual(image.get(0, 0), self.colorlist(255, 0, 0)) self.assertEqual(image.get(1, 0), self.colorlist(0, 255, 0)) self.assertEqual(image.get(0, 1), self.colorlist(0, 0, 255)) self.assertEqual(image.get(1, 1), self.colorlist(255, 255, 0)) def test_get(self): image = self.create() self.assertEqual(image.get(4, 6), self.colorlist(62, 116, 162)) self.assertEqual(image.get(0, 0), self.colorlist(0, 0, 0)) self.assertEqual(image.get(15, 15), self.colorlist(0, 0, 0)) self.assertRaises(tkinter.TclError, image.get, -1, 0) self.assertRaises(tkinter.TclError, image.get, 0, -1) self.assertRaises(tkinter.TclError, image.get, 16, 15) self.assertRaises(tkinter.TclError, image.get, 15, 16) def test_write(self): image = self.create() self.addCleanup(support.unlink, support.TESTFN) image.write(support.TESTFN) image2 = tkinter.PhotoImage('::img::test2', master=self.root, format='ppm', file=support.TESTFN) self.assertEqual(str(image2), '::img::test2') self.assertEqual(image2.type(), 'photo') self.assertEqual(image2.width(), 16) self.assertEqual(image2.height(), 16) self.assertEqual(image2.get(0, 0), image.get(0, 0)) self.assertEqual(image2.get(15, 8), image.get(15, 8)) image.write(support.TESTFN, format='gif', from_coords=(4, 6, 6, 9)) image3 = tkinter.PhotoImage('::img::test3', master=self.root, format='gif', file=support.TESTFN) self.assertEqual(str(image3), '::img::test3') self.assertEqual(image3.type(), 'photo') self.assertEqual(image3.width(), 2) self.assertEqual(image3.height(), 3) self.assertEqual(image3.get(0, 0), image.get(4, 6)) self.assertEqual(image3.get(1, 2), image.get(5, 8)) tests_gui = (MiscTest, BitmapImageTest, PhotoImageTest,) if __name__ == "__main__": support.run_unittest(*tests_gui) test_images.pyc000064400000037047147205215210007577 0ustar00 zfc@sddlZddlZddlZddljZddlmZm Z ej ddeej fdYZ deej fdYZ deej fd YZe e efZed krejendS( iN(tAbstractTkTestt requires_tcltguitMiscTestcBseZdZdZRS(cCsC|jj}|j|t|jd||jd|dS(Ntphototbitmap(troott image_typestassertIsInstancettupletassertIn(tselfR((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_image_types scCs#|jj}|j|tdS(N(Rt image_namesRR (R R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_image_namess(t__name__t __module__R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyR s tBitmapImageTestcBsVeZedZdZdZdZdZdZdZ dZ RS(cCs,tjj|tjddd|_dS(Ns python.xbmtsubdirt imghdrdata(Rt setUpClasst__func__tsupporttfindfilettestfile(tcls((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyRsc Cstjdd|jddddd|j}|jt|d|j|jd|j|jd |j|jd |j d|jj ~|j d|jj dS( Ns ::img::testtmastert foregroundtyellowt backgroundtbluetfileRi( ttkintert BitmapImageRRt assertEqualtstrttypetwidththeightR R t assertNotIn(R timage((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_files  c Cst|jd}|j}WdQXtjdd|jddddd|}|jt|d|j|jd |j|j d |j|j d |j d|jj ~|j d|jj dS( Ntrbs ::img::testRRRRRtdataRi(topenRtreadR R!RR"R#R$R%R&R R R'(R tfR+R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_data*s  cCs0|j|t|j|jj||dS(N(RR#R"Rt splitlist(R tactualtexpected((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pytassertEqualStrList8scCstjdd|j}|j|ddt|jd}|j}WdQX|jd||j|ddddd|f|j|j d|j|j d|j|d d |jd ||j|d d ddd|fdS( Ns ::img::testRR+s-data {} {} {} {}R*s-datatitmaskdatas-maskdata {} {} {} {}s -maskdata( R R!RR"R,RR-t configureR3R%R&(R R(R.R+((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_data<s  cCstjdd|j}|j|dd|jd|j|j|ddddd|jf|j|jd|j|jd|j|dd |jd|j|j|dd ddd|jfdS( Ns ::img::testRRs-file {} {} {} {}s-fileR4itmaskfiles-maskfile {} {} {} {}s -maskfile( R R!RR"R6RR3R%R&(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_fileLs  cCsTtjdd|j}|j|dd|jdd|j|dddS(Ns ::img::testRRs-background {} {} {} {}Rs-background {} {} {} blue(R R!RR"R6(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_backgroundZscCsTtjdd|j}|j|dd|jdd|j|dddS(Ns ::img::testRRs!-foreground {} {} #000000 #000000Rs -foreground {} {} #000000 yellow(R R!RR"R6(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_foreground`s   ( RRt classmethodRR)R/R3R7R9R:R;(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyRs     tPhotoImageTestcBseZedZdZdZdZdZdZdZ dZ dZ d Z d Z ed d d Zed d dZdZdZdZdZdZdZdZdZdZdZdZdZdZRS(cCs,tjj|tjddd|_dS(Ns python.gifRR(RRRRRR(R((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyRkscCstjdd|jd|jS(Ns ::img::testRR(R t PhotoImageRR(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pytcreatepscGs-tjdkr|jr|Stj|SdS(Ng333333!@(R t TkVersiont wantobjectst_join(R targs((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyt colorlisttscCstjd|dd}tjdd|jd|}|jt|d|j|jd|j|jd|j|j d|j|d d |j|d||j d|jj ~|j d|jj dS( Nspython.RRs ::img::testRRRiR+R4( RRR R>RR"R#R$R%R&R R R'(R textRR(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pytcheck_create_from_filezs cCs,tjd|dd}t|d}|j}WdQXtjdd|jd|}|jt|d|j|j d|j|j d |j|j d |j|d|j r|n |j d |j|d d |jd|jj~|jd|jjdS( Nspython.RRR*s ::img::testRR+Ritlatin1RR4(RRR,R-R R>RR"R#R$R%R&RAtdecodeR R R'(R RERR.R+R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pytcheck_create_from_datas cCs|jddS(Ntppm(RF(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_ppm_filescCs|jddS(NRJ(RI(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_ppm_datascCs|jddS(Ntpgm(RF(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_pgm_filescCs|jddS(NRM(RI(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_pgm_datascCs|jddS(Ntgif(RF(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_gif_filescCs|jddS(NRP(RI(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_gif_datasiicCs|jddS(Ntpng(RF(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_png_filescCs|jddS(NRS(RI(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_png_datascCstjdd|j}|j|ddt|jd}|j}WdQX|jd||j|d|jr|n |j d|j|j d|j|j ddS(Ns ::img::testRR+R4R*RGi( R R>RR"R,RR-R6RARHR%R&(R R(R.R+((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyR7scCstjdd|j}|j|dd|jd|jdd|j|d|jradnd|j|jd|j|jddS( Ns ::img::testRtformatR4RRPi(RP( R R>RR"R6RRAR%R&(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_formatscCstjdd|j}|j|dd|jd|j|j|d|j|j|jd|j|jddS(Ns ::img::testRRR4i(R R>RR"R6RR%R&(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyR9s cCsTtjdd|j}|j|dd|jdd|j|dddS(Ns ::img::testRtgammas1.0g@s2.0(R R>RR"R6(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_gammascCstjdd|j}|j|dd|j|dd|jdd|jdd|j|dd|j|dd |j|jd|j|jddS( Ns ::img::testRR%t0R&ii t20t10(R R>RR"R6R%R&(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_width_heightscCsxtjdd|j}|j|dd|jdd|j|dd|jdd|j|dddS(Ns ::img::testRtpaletteR4it256s3/4/2(R R>RR"R6(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_palettes cCsq|j}|j|j|jd|j|jd|j|jdd|jddddS(Niiii(R?tblankR"R%R&tgetRD(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyt test_blanks   cCsp|j}|j}|j|jd|j|jd|j|jdd|jdddS(Niii(R?tcopyR"R%R&Rb(R R(timage2((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyt test_copys   cCs|j}|jdd}|j|jd|j|jd|j|jdd|jdd|jd}|j|jd|j|jd|j|jdd|jdddS(Niiiii(R?t subsampleR"R%R&Rb(R R(Re((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_subsamples (cCs)|j}|jdd}|j|jd|j|jd|j|jdd|jdd|j|jd d |jdd|jd}|j|jd|j|jd|j|jdd |jdd|j|jd d |jdddS( Niii i0iiiii ii i (R?tzoomR"R%R&Rb(R R(Re((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyt test_zooms (((cCs|j}|jddd|j|jdd|jddd|j|jdd|jdtjdkr}d ndd|j|jdd |jddd|j|jdd |jddd|jddf|j|jdd|jddd|j|jdd|jddd|j|jdd|jddd|j|jdd|jddddS(Ns{red green} {blue yellow}ttoiiiiig333333!@iis#f00s#00ff00s #000000fffs #ffffffff0000i(ii(s#f00s#00ff00(s #000000fffs #ffffffff0000(R?tputR"RbRDR R@(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_puts + +++++cCs|j}|j|jdd|jddd|j|jdd|jddd|j|jdd|jddd|jtj|jdd|jtj|jdd|jtj|jd d|jtj|jdd dS( Niii>itiiiii(R?R"RbRDt assertRaisesR tTclError(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_get s +++c Cs|j}|jtjtj|jtjtjdd|jdddtj}|j t |d|j |j d|j |j d|j |j d|j |jdd|jdd|j |jd d |jd d |jtjdd d dtjdd|jdd dtj}|j t |d|j |j d|j |j d|j |j d|j |jdd|jd d|j |jdd|jdd dS(Ns ::img::test2RRVRJRRiiiiRPt from_coordsiii s ::img::test3iiii(iiii (R?t addCleanupRtunlinktTESTFNtwriteR R>RR"R#R$R%R&Rb(R R(Retimage3((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyt test_write*s,  (( ((RRR<RR?RDRFRIRKRLRNRORQRRRRTRUR7RWR9RYR]R`RcRfRhRjRmRpRw(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyR=is4                  t__main__(tunittesttTkinterR tttkttest.test_supportt test_supportRttest_ttk.supportRRtrequirestTestCaseRRR=t tests_guiRt run_unittest(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyts     R test_images.pyo000064400000037047147205215210007613 0ustar00 zfc@sddlZddlZddlZddljZddlmZm Z ej ddeej fdYZ deej fdYZ deej fd YZe e efZed krejendS( iN(tAbstractTkTestt requires_tcltguitMiscTestcBseZdZdZRS(cCsC|jj}|j|t|jd||jd|dS(Ntphototbitmap(troott image_typestassertIsInstancettupletassertIn(tselfR((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_image_types scCs#|jj}|j|tdS(N(Rt image_namesRR (R R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_image_namess(t__name__t __module__R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyR s tBitmapImageTestcBsVeZedZdZdZdZdZdZdZ dZ RS(cCs,tjj|tjddd|_dS(Ns python.xbmtsubdirt imghdrdata(Rt setUpClasst__func__tsupporttfindfilettestfile(tcls((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyRsc Cstjdd|jddddd|j}|jt|d|j|jd|j|jd |j|jd |j d|jj ~|j d|jj dS( Ns ::img::testtmastert foregroundtyellowt backgroundtbluetfileRi( ttkintert BitmapImageRRt assertEqualtstrttypetwidththeightR R t assertNotIn(R timage((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_files  c Cst|jd}|j}WdQXtjdd|jddddd|}|jt|d|j|jd |j|j d |j|j d |j d|jj ~|j d|jj dS( Ntrbs ::img::testRRRRRtdataRi(topenRtreadR R!RR"R#R$R%R&R R R'(R tfR+R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_data*s  cCs0|j|t|j|jj||dS(N(RR#R"Rt splitlist(R tactualtexpected((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pytassertEqualStrList8scCstjdd|j}|j|ddt|jd}|j}WdQX|jd||j|ddddd|f|j|j d|j|j d|j|d d |jd ||j|d d ddd|fdS( Ns ::img::testRR+s-data {} {} {} {}R*s-datatitmaskdatas-maskdata {} {} {} {}s -maskdata( R R!RR"R,RR-t configureR3R%R&(R R(R.R+((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_data<s  cCstjdd|j}|j|dd|jd|j|j|ddddd|jf|j|jd|j|jd|j|dd |jd|j|j|dd ddd|jfdS( Ns ::img::testRRs-file {} {} {} {}s-fileR4itmaskfiles-maskfile {} {} {} {}s -maskfile( R R!RR"R6RR3R%R&(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_fileLs  cCsTtjdd|j}|j|dd|jdd|j|dddS(Ns ::img::testRRs-background {} {} {} {}Rs-background {} {} {} blue(R R!RR"R6(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_backgroundZscCsTtjdd|j}|j|dd|jdd|j|dddS(Ns ::img::testRRs!-foreground {} {} #000000 #000000Rs -foreground {} {} #000000 yellow(R R!RR"R6(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_foreground`s   ( RRt classmethodRR)R/R3R7R9R:R;(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyRs     tPhotoImageTestcBseZedZdZdZdZdZdZdZ dZ dZ d Z d Z ed d d Zed d dZdZdZdZdZdZdZdZdZdZdZdZdZdZRS(cCs,tjj|tjddd|_dS(Ns python.gifRR(RRRRRR(R((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyRkscCstjdd|jd|jS(Ns ::img::testRR(R t PhotoImageRR(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pytcreatepscGs-tjdkr|jr|Stj|SdS(Ng333333!@(R t TkVersiont wantobjectst_join(R targs((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyt colorlisttscCstjd|dd}tjdd|jd|}|jt|d|j|jd|j|jd|j|j d|j|d d |j|d||j d|jj ~|j d|jj dS( Nspython.RRs ::img::testRRRiR+R4( RRR R>RR"R#R$R%R&R R R'(R textRR(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pytcheck_create_from_filezs cCs,tjd|dd}t|d}|j}WdQXtjdd|jd|}|jt|d|j|j d|j|j d |j|j d |j|d|j r|n |j d |j|d d |jd|jj~|jd|jjdS( Nspython.RRR*s ::img::testRR+Ritlatin1RR4(RRR,R-R R>RR"R#R$R%R&RAtdecodeR R R'(R RERR.R+R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pytcheck_create_from_datas cCs|jddS(Ntppm(RF(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_ppm_filescCs|jddS(NRJ(RI(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_ppm_datascCs|jddS(Ntpgm(RF(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_pgm_filescCs|jddS(NRM(RI(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_pgm_datascCs|jddS(Ntgif(RF(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_gif_filescCs|jddS(NRP(RI(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_gif_datasiicCs|jddS(Ntpng(RF(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_png_filescCs|jddS(NRS(RI(R ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_create_from_png_datascCstjdd|j}|j|ddt|jd}|j}WdQX|jd||j|d|jr|n |j d|j|j d|j|j ddS(Ns ::img::testRR+R4R*RGi( R R>RR"R,RR-R6RARHR%R&(R R(R.R+((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyR7scCstjdd|j}|j|dd|jd|jdd|j|d|jradnd|j|jd|j|jddS( Ns ::img::testRtformatR4RRPi(RP( R R>RR"R6RRAR%R&(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_formatscCstjdd|j}|j|dd|jd|j|j|d|j|j|jd|j|jddS(Ns ::img::testRRR4i(R R>RR"R6RR%R&(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyR9s cCsTtjdd|j}|j|dd|jdd|j|dddS(Ns ::img::testRtgammas1.0g@s2.0(R R>RR"R6(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_gammascCstjdd|j}|j|dd|j|dd|jdd|jdd|j|dd|j|dd |j|jd|j|jddS( Ns ::img::testRR%t0R&ii t20t10(R R>RR"R6R%R&(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_width_heightscCsxtjdd|j}|j|dd|jdd|j|dd|jdd|j|dddS(Ns ::img::testRtpaletteR4it256s3/4/2(R R>RR"R6(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_configure_palettes cCsq|j}|j|j|jd|j|jd|j|jdd|jddddS(Niiii(R?tblankR"R%R&tgetRD(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyt test_blanks   cCsp|j}|j}|j|jd|j|jd|j|jdd|jdddS(Niii(R?tcopyR"R%R&Rb(R R(timage2((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyt test_copys   cCs|j}|jdd}|j|jd|j|jd|j|jdd|jdd|jd}|j|jd|j|jd|j|jdd|jdddS(Niiiii(R?t subsampleR"R%R&Rb(R R(Re((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_subsamples (cCs)|j}|jdd}|j|jd|j|jd|j|jdd|jdd|j|jd d |jdd|jd}|j|jd|j|jd|j|jdd |jdd|j|jd d |jdddS( Niii i0iiiii ii i (R?tzoomR"R%R&Rb(R R(Re((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyt test_zooms (((cCs|j}|jddd|j|jdd|jddd|j|jdd|jdtjdkr}d ndd|j|jdd |jddd|j|jdd |jddd|jddf|j|jdd|jddd|j|jdd|jddd|j|jdd|jddd|j|jdd|jddddS(Ns{red green} {blue yellow}ttoiiiiig333333!@iis#f00s#00ff00s #000000fffs #ffffffff0000i(ii(s#f00s#00ff00(s #000000fffs #ffffffff0000(R?tputR"RbRDR R@(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_puts + +++++cCs|j}|j|jdd|jddd|j|jdd|jddd|j|jdd|jddd|jtj|jdd|jtj|jdd|jtj|jd d|jtj|jdd dS( Niii>itiiiii(R?R"RbRDt assertRaisesR tTclError(R R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyttest_get s +++c Cs|j}|jtjtj|jtjtjdd|jdddtj}|j t |d|j |j d|j |j d|j |j d|j |jdd|jdd|j |jd d |jd d |jtjdd d dtjdd|jdd dtj}|j t |d|j |j d|j |j d|j |j d|j |jdd|jd d|j |jdd|jdd dS(Ns ::img::test2RRVRJRRiiiiRPt from_coordsiii s ::img::test3iiii(iiii (R?t addCleanupRtunlinktTESTFNtwriteR R>RR"R#R$R%R&Rb(R R(Retimage3((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyt test_write*s,  (( ((RRR<RR?RDRFRIRKRLRNRORQRRRRTRUR7RWR9RYR]R`RcRfRhRjRmRpRw(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyR=is4                  t__main__(tunittesttTkinterR tttkttest.test_supportt test_supportRttest_ttk.supportRRtrequirestTestCaseRRR=t tests_guiRt run_unittest(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_images.pyts     R test_loadtk.py000064400000002662147205215210007440 0ustar00import os import sys import unittest from test import test_support from Tkinter import Tcl, TclError test_support.requires('gui') class TkLoadTest(unittest.TestCase): @unittest.skipIf('DISPLAY' not in os.environ, 'No $DISPLAY set.') def testLoadTk(self): tcl = Tcl() self.assertRaises(TclError,tcl.winfo_geometry) tcl.loadtk() self.assertEqual('1x1+0+0', tcl.winfo_geometry()) tcl.destroy() def testLoadTkFailure(self): old_display = None if sys.platform.startswith(('win', 'darwin', 'cygwin')): # no failure possible on windows? # XXX Maybe on tk older than 8.4.13 it would be possible, # see tkinter.h. return with test_support.EnvironmentVarGuard() as env: if 'DISPLAY' in os.environ: del env['DISPLAY'] # on some platforms, deleting environment variables # doesn't actually carry through to the process level # because they don't support unsetenv # If that's the case, abort. display = os.popen('echo $DISPLAY').read().strip() if display: return tcl = Tcl() self.assertRaises(TclError, tcl.winfo_geometry) self.assertRaises(TclError, tcl.loadtk) tests_gui = (TkLoadTest, ) if __name__ == "__main__": test_support.run_unittest(*tests_gui) test_loadtk.pyc000064400000003314147205215210007576 0ustar00 zfc@sddlZddlZddlZddlmZddlmZmZejddej fdYZ e fZ e dkrej e ndS(iN(t test_support(tTcltTclErrortguit TkLoadTestcBs5eZejdejkddZdZRS(tDISPLAYsNo $DISPLAY set.cCsJt}|jt|j|j|jd|j|jdS(Ns1x1+0+0(Rt assertRaisesRtwinfo_geometrytloadtkt assertEqualtdestroy(tselfttcl((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_loadtk.pyt testLoadTk s   cCsd}tjjdrdStjt}dtjkri|d=tjdj j }|ridSnt }|j t |j|j t |jWdQXdS(NtwintdarwintcygwinRs echo $DISPLAY(RRR(tNonetsystplatformt startswithRtEnvironmentVarGuardtostenvirontpopentreadtstripRRRRR(R t old_displaytenvtdisplayR ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_loadtk.pyttestLoadTkFailures (t__name__t __module__tunittesttskipIfRRR R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_loadtk.pyR s$t__main__(RRR!ttestRtTkinterRRtrequirestTestCaseRt tests_guiRt run_unittest(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_loadtk.pyts    !  test_loadtk.pyo000064400000003314147205215210007612 0ustar00 zfc@sddlZddlZddlZddlmZddlmZmZejddej fdYZ e fZ e dkrej e ndS(iN(t test_support(tTcltTclErrortguit TkLoadTestcBs5eZejdejkddZdZRS(tDISPLAYsNo $DISPLAY set.cCsJt}|jt|j|j|jd|j|jdS(Ns1x1+0+0(Rt assertRaisesRtwinfo_geometrytloadtkt assertEqualtdestroy(tselfttcl((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_loadtk.pyt testLoadTk s   cCsd}tjjdrdStjt}dtjkri|d=tjdj j }|ridSnt }|j t |j|j t |jWdQXdS(NtwintdarwintcygwinRs echo $DISPLAY(RRR(tNonetsystplatformt startswithRtEnvironmentVarGuardtostenvirontpopentreadtstripRRRRR(R t old_displaytenvtdisplayR ((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_loadtk.pyttestLoadTkFailures (t__name__t __module__tunittesttskipIfRRR R(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_loadtk.pyR s$t__main__(RRR!ttestRtTkinterRRtrequirestTestCaseRt tests_guiRt run_unittest(((s</usr/lib64/python2.7/lib-tk/test/test_tkinter/test_loadtk.pyts    !  test_misc.py000064400000010233147205215210007106 0ustar00import unittest import Tkinter as tkinter from test.test_support import requires, run_unittest from test_ttk.support import AbstractTkTest requires('gui') class MiscTest(AbstractTkTest, unittest.TestCase): def test_after(self): root = self.root cbcount = {'count': 0} def callback(start=0, step=1): cbcount['count'] = start + step # Without function, sleeps for ms. self.assertIsNone(root.after(1)) # Set up with callback with no args. cbcount['count'] = 0 timer1 = root.after(0, callback) self.assertIn(timer1, root.tk.call('after', 'info')) (script, _) = root.tk.splitlist(root.tk.call('after', 'info', timer1)) root.update() # Process all pending events. self.assertEqual(cbcount['count'], 1) with self.assertRaises(tkinter.TclError): root.tk.call(script) # Set up with callback with args. cbcount['count'] = 0 timer1 = root.after(0, callback, 42, 11) root.update() # Process all pending events. self.assertEqual(cbcount['count'], 53) # Cancel before called. timer1 = root.after(1000, callback) self.assertIn(timer1, root.tk.call('after', 'info')) (script, _) = root.tk.splitlist(root.tk.call('after', 'info', timer1)) root.after_cancel(timer1) # Cancel this event. self.assertEqual(cbcount['count'], 53) with self.assertRaises(tkinter.TclError): root.tk.call(script) def test_after_idle(self): root = self.root cbcount = {'count': 0} def callback(start=0, step=1): cbcount['count'] = start + step # Set up with callback with no args. cbcount['count'] = 0 idle1 = root.after_idle(callback) self.assertIn(idle1, root.tk.call('after', 'info')) (script, _) = root.tk.splitlist(root.tk.call('after', 'info', idle1)) root.update_idletasks() # Process all pending events. self.assertEqual(cbcount['count'], 1) with self.assertRaises(tkinter.TclError): root.tk.call(script) # Set up with callback with args. cbcount['count'] = 0 idle1 = root.after_idle(callback, 42, 11) root.update_idletasks() # Process all pending events. self.assertEqual(cbcount['count'], 53) # Cancel before called. idle1 = root.after_idle(callback) self.assertIn(idle1, root.tk.call('after', 'info')) (script, _) = root.tk.splitlist(root.tk.call('after', 'info', idle1)) root.after_cancel(idle1) # Cancel this event. self.assertEqual(cbcount['count'], 53) with self.assertRaises(tkinter.TclError): root.tk.call(script) def test_after_cancel(self): root = self.root cbcount = {'count': 0} def callback(): cbcount['count'] += 1 timer1 = root.after(5000, callback) idle1 = root.after_idle(callback) # No value for id raises a ValueError. with self.assertRaises(ValueError): root.after_cancel(None) # Cancel timer event. cbcount['count'] = 0 (script, _) = root.tk.splitlist(root.tk.call('after', 'info', timer1)) root.tk.call(script) self.assertEqual(cbcount['count'], 1) root.after_cancel(timer1) with self.assertRaises(tkinter.TclError): root.tk.call(script) self.assertEqual(cbcount['count'], 1) with self.assertRaises(tkinter.TclError): root.tk.call('after', 'info', timer1) # Cancel same event - nothing happens. root.after_cancel(timer1) # Cancel idle event. cbcount['count'] = 0 (script, _) = root.tk.splitlist(root.tk.call('after', 'info', idle1)) root.tk.call(script) self.assertEqual(cbcount['count'], 1) root.after_cancel(idle1) with self.assertRaises(tkinter.TclError): root.tk.call(script) self.assertEqual(cbcount['count'], 1) with self.assertRaises(tkinter.TclError): root.tk.call('after', 'info', idle1) tests_gui = (MiscTest, ) if __name__ == "__main__": run_unittest(*tests_gui) test_misc.pyc000064400000007400147205215210007253 0ustar00 zfc@sddlZddlZddlmZmZddlmZeddeejfdYZ e fZ e dkree ndS(iN(trequirest run_unittest(tAbstractTkTesttguitMiscTestcBs#eZdZdZdZRS(cs|j}idd6ddfd}|j|jddd<|jd|}|j||jjdd|jj|jjdd|\}}|j|jdd|j t j |jj|WdQXdd<|jd|dd}|j|jdd |jd |}|j||jjdd|jj|jjdd|\}}|j ||jdd |j t j |jj|WdQXdS( Nitcountics||ds   o  test_misc.pyo000064400000007400147205215210007267 0ustar00 zfc@sddlZddlZddlmZmZddlmZeddeejfdYZ e fZ e dkree ndS(iN(trequirest run_unittest(tAbstractTkTesttguitMiscTestcBs#eZdZdZdZRS(cs|j}idd6ddfd}|j|jddd<|jd|}|j||jjdd|jj|jjdd|\}}|j|jdd|j t j |jj|WdQXdd<|jd|dd}|j|jdd |jd |}|j||jjdd|jj|jjdd|\}}|j ||jdd |j t j |jj|WdQXdS( Nitcountics||ds   o  test_text.py000064400000002674147205215210007151 0ustar00import unittest import Tkinter as tkinter from test.test_support import requires, run_unittest from test_ttk.support import AbstractTkTest requires('gui') class TextTest(AbstractTkTest, unittest.TestCase): def setUp(self): super(TextTest, self).setUp() self.text = tkinter.Text(self.root) def test_debug(self): text = self.text olddebug = text.debug() try: text.debug(0) self.assertEqual(text.debug(), 0) text.debug(1) self.assertEqual(text.debug(), 1) finally: text.debug(olddebug) self.assertEqual(text.debug(), olddebug) def test_search(self): text = self.text # pattern and index are obligatory arguments. self.assertRaises(tkinter.TclError, text.search, None, '1.0') self.assertRaises(tkinter.TclError, text.search, 'a', None) self.assertRaises(tkinter.TclError, text.search, None, None) # Invalid text index. self.assertRaises(tkinter.TclError, text.search, '', 0) # Check if we are getting the indices as strings -- you are likely # to get Tcl_Obj under Tk 8.5 if Tkinter doesn't convert it. text.insert('1.0', 'hi-test') self.assertEqual(text.search('-test', '1.0', 'end'), '1.2') self.assertEqual(text.search('test', '1.0', 'end'), '1.3') tests_gui = (TextTest, ) if __name__ == "__main__": run_unittest(*tests_gui) test_text.pyc000064400000003467147205215210007315 0ustar00 zfc@sddlZddlZddlmZmZddlmZeddeejfdYZ e fZ e dkree ndS(iN(trequirest run_unittest(tAbstractTkTesttguitTextTestcBs#eZdZdZdZRS(cCs,tt|jtj|j|_dS(N(tsuperRtsetUpttkintertTexttrootttext(tself((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_text.pyR scCs|j}|j}zJ|jd|j|jd|jd|j|jdWd|j||j|j|XdS(Nii(R tdebugt assertEqual(R R tolddebug((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_text.pyt test_debugs     cCs|j}|jtj|jdd|jtj|jdd|jtj|jdd|jtj|jdd|jdd|j|jdddd|j|jd ddd dS( Ns1.0tatishi-tests-testtends1.2ttests1.3(R t assertRaisesRtTclErrortsearchtNonetinsertR (R R ((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_text.pyt test_searchs (t__name__t __module__RRR(((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_text.pyRs  t__main__( tunittesttTkinterRttest.test_supportRRttest_ttk.supportRtTestCaseRt tests_guiR(((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_text.pyts   $  test_text.pyo000064400000003467147205215210007331 0ustar00 zfc@sddlZddlZddlmZmZddlmZeddeejfdYZ e fZ e dkree ndS(iN(trequirest run_unittest(tAbstractTkTesttguitTextTestcBs#eZdZdZdZRS(cCs,tt|jtj|j|_dS(N(tsuperRtsetUpttkintertTexttrootttext(tself((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_text.pyR scCs|j}|j}zJ|jd|j|jd|jd|j|jdWd|j||j|j|XdS(Nii(R tdebugt assertEqual(R R tolddebug((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_text.pyt test_debugs     cCs|j}|jtj|jdd|jtj|jdd|jtj|jdd|jtj|jdd|jdd|j|jdddd|j|jd ddd dS( Ns1.0tatishi-tests-testtends1.2ttests1.3(R t assertRaisesRtTclErrortsearchtNonetinsertR (R R ((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_text.pyt test_searchs (t__name__t __module__RRR(((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_text.pyRs  t__main__( tunittesttTkinterRttest.test_supportRRttest_ttk.supportRtTestCaseRt tests_guiR(((s:/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_text.pyts   $  test_variables.py000064400000020305147205215210010124 0ustar00import unittest import gc from Tkinter import (Variable, StringVar, IntVar, DoubleVar, BooleanVar, Tcl, TclError) class TestBase(unittest.TestCase): def setUp(self): self.root = Tcl() def tearDown(self): del self.root class TestVariable(TestBase): def info_exists(self, *args): return self.root.getboolean(self.root.call("info", "exists", *args)) def test_default(self): v = Variable(self.root) self.assertEqual("", v.get()) self.assertRegexpMatches(str(v), r"^PY_VAR(\d+)$") def test_name_and_value(self): v = Variable(self.root, "sample string", "varname") self.assertEqual("sample string", v.get()) self.assertEqual("varname", str(v)) def test___del__(self): self.assertFalse(self.info_exists("varname")) v = Variable(self.root, "sample string", "varname") self.assertTrue(self.info_exists("varname")) del v self.assertFalse(self.info_exists("varname")) def test_dont_unset_not_existing(self): self.assertFalse(self.info_exists("varname")) v1 = Variable(self.root, name="name") v2 = Variable(self.root, name="name") del v1 self.assertFalse(self.info_exists("name")) # shouldn't raise exception del v2 self.assertFalse(self.info_exists("name")) def test___eq__(self): # values doesn't matter, only class and name are checked v1 = Variable(self.root, name="abc") v2 = Variable(self.root, name="abc") self.assertEqual(v1, v2) v3 = Variable(self.root, name="abc") v4 = StringVar(self.root, name="abc") self.assertNotEqual(v3, v4) def test_invalid_name(self): with self.assertRaises(TypeError): Variable(self.root, name=123) def test_null_in_name(self): with self.assertRaises(ValueError): Variable(self.root, name='var\x00name') with self.assertRaises(ValueError): self.root.globalsetvar('var\x00name', "value") with self.assertRaises(ValueError): self.root.setvar('var\x00name', "value") def test_trace(self): v = Variable(self.root) vname = str(v) trace = [] def read_tracer(*args): trace.append(('read',) + args) def write_tracer(*args): trace.append(('write',) + args) cb1 = v.trace_variable('r', read_tracer) cb2 = v.trace_variable('wu', write_tracer) self.assertEqual(sorted(v.trace_vinfo()), [('r', cb1), ('wu', cb2)]) self.assertEqual(trace, []) v.set('spam') self.assertEqual(trace, [('write', vname, '', 'w')]) trace = [] v.get() self.assertEqual(trace, [('read', vname, '', 'r')]) trace = [] info = sorted(v.trace_vinfo()) v.trace_vdelete('w', cb1) # Wrong mode self.assertEqual(sorted(v.trace_vinfo()), info) with self.assertRaises(TclError): v.trace_vdelete('r', 'spam') # Wrong command name self.assertEqual(sorted(v.trace_vinfo()), info) v.trace_vdelete('r', (cb1, 43)) # Wrong arguments self.assertEqual(sorted(v.trace_vinfo()), info) v.get() self.assertEqual(trace, [('read', vname, '', 'r')]) trace = [] v.trace_vdelete('r', cb1) self.assertEqual(v.trace_vinfo(), [('wu', cb2)]) v.get() self.assertEqual(trace, []) trace = [] del write_tracer gc.collect() v.set('eggs') self.assertEqual(trace, [('write', vname, '', 'w')]) #trace = [] #del v #gc.collect() #self.assertEqual(trace, [('write', vname, '', 'u')]) class TestStringVar(TestBase): def test_default(self): v = StringVar(self.root) self.assertEqual("", v.get()) def test_get(self): v = StringVar(self.root, "abc", "name") self.assertEqual("abc", v.get()) self.root.globalsetvar("name", "value") self.assertEqual("value", v.get()) def test_get_null(self): v = StringVar(self.root, "abc\x00def", "name") self.assertEqual("abc\x00def", v.get()) self.root.globalsetvar("name", "val\x00ue") self.assertEqual("val\x00ue", v.get()) class TestIntVar(TestBase): def test_default(self): v = IntVar(self.root) self.assertEqual(0, v.get()) def test_get(self): v = IntVar(self.root, 123, "name") self.assertEqual(123, v.get()) self.root.globalsetvar("name", "345") self.assertEqual(345, v.get()) def test_invalid_value(self): v = IntVar(self.root, name="name") self.root.globalsetvar("name", "value") with self.assertRaises(ValueError): v.get() self.root.globalsetvar("name", "345.0") with self.assertRaises(ValueError): v.get() class TestDoubleVar(TestBase): def test_default(self): v = DoubleVar(self.root) self.assertEqual(0.0, v.get()) def test_get(self): v = DoubleVar(self.root, 1.23, "name") self.assertAlmostEqual(1.23, v.get()) self.root.globalsetvar("name", "3.45") self.assertAlmostEqual(3.45, v.get()) def test_get_from_int(self): v = DoubleVar(self.root, 1.23, "name") self.assertAlmostEqual(1.23, v.get()) self.root.globalsetvar("name", "3.45") self.assertAlmostEqual(3.45, v.get()) self.root.globalsetvar("name", "456") self.assertAlmostEqual(456, v.get()) def test_invalid_value(self): v = DoubleVar(self.root, name="name") self.root.globalsetvar("name", "value") with self.assertRaises(ValueError): v.get() class TestBooleanVar(TestBase): def test_default(self): v = BooleanVar(self.root) self.assertIs(v.get(), False) def test_get(self): v = BooleanVar(self.root, True, "name") self.assertIs(v.get(), True) self.root.globalsetvar("name", "0") self.assertIs(v.get(), False) self.root.globalsetvar("name", 42 if self.root.wantobjects() else 1) self.assertIs(v.get(), True) self.root.globalsetvar("name", 0) self.assertIs(v.get(), False) self.root.globalsetvar("name", 42L if self.root.wantobjects() else 1L) self.assertIs(v.get(), True) self.root.globalsetvar("name", 0L) self.assertIs(v.get(), False) self.root.globalsetvar("name", "on") self.assertIs(v.get(), True) self.root.globalsetvar("name", u"0") self.assertIs(v.get(), False) self.root.globalsetvar("name", u"on") self.assertIs(v.get(), True) def test_set(self): true = 1 if self.root.wantobjects() else "1" false = 0 if self.root.wantobjects() else "0" v = BooleanVar(self.root, name="name") v.set(True) self.assertEqual(self.root.globalgetvar("name"), true) v.set("0") self.assertEqual(self.root.globalgetvar("name"), false) v.set(42) self.assertEqual(self.root.globalgetvar("name"), true) v.set(0) self.assertEqual(self.root.globalgetvar("name"), false) v.set(42L) self.assertEqual(self.root.globalgetvar("name"), true) v.set(0L) self.assertEqual(self.root.globalgetvar("name"), false) v.set("on") self.assertEqual(self.root.globalgetvar("name"), true) v.set(u"0") self.assertEqual(self.root.globalgetvar("name"), false) v.set(u"on") self.assertEqual(self.root.globalgetvar("name"), true) def test_invalid_value_domain(self): false = 0 if self.root.wantobjects() else "0" v = BooleanVar(self.root, name="name") with self.assertRaises(TclError): v.set("value") self.assertEqual(self.root.globalgetvar("name"), false) self.root.globalsetvar("name", "value") with self.assertRaises(TclError): v.get() self.root.globalsetvar("name", "1.0") with self.assertRaises(TclError): v.get() tests_gui = (TestVariable, TestStringVar, TestIntVar, TestDoubleVar, TestBooleanVar) if __name__ == "__main__": from test.support import run_unittest run_unittest(*tests_gui) test_variables.pyc000064400000026236147205215210010300 0ustar00 zfc@sddlZddlZddlmZmZmZmZmZmZm Z dej fdYZ de fdYZ de fdYZ d e fd YZd e fd YZd e fdYZe e eeefZedkrddlmZeendS(iN(tVariablet StringVartIntVart DoubleVart BooleanVartTcltTclErrortTestBasecBseZdZdZRS(cCst|_dS(N(Rtroot(tself((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pytsetUp scCs |`dS(N(R(R ((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttearDown s(t__name__t __module__R R (((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRs t TestVariablecBsYeZdZdZdZdZdZdZdZdZ dZ RS( cGs"|jj|jjdd|S(Ntinfotexists(Rt getbooleantcall(R targs((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt info_existsscCs?t|j}|jd|j|jt|ddS(Nts ^PY_VAR(\d+)$(RRt assertEqualtgettassertRegexpMatcheststr(R tv((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt test_defaultscCsEt|jdd}|jd|j|jdt|dS(Ns sample stringtvarname(RRRRR(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_name_and_valuescCs^|j|jdt|jdd}|j|jd~|j|jddS(NRs sample string(t assertFalseRRRt assertTrue(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt test___del__s cCsv|j|jdt|jdd}t|jdd}~|j|jd~|j|jddS(NRtname(RRRR(R tv1tv2((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_dont_unset_not_existing&scCsxt|jdd}t|jdd}|j||t|jdd}t|jdd}|j||dS(NR!tabc(RRRRtassertNotEqual(R R"R#tv3tv4((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt test___eq__0s cCs-|jtt|jddWdQXdS(NR!i{(t assertRaisest TypeErrorRR(R ((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_invalid_name:sc Cs|jtt|jddWdQX|jt|jjddWdQX|jt|jjddWdQXdS(NR!svarnametvalue(R*t ValueErrorRRt globalsetvartsetvar(R ((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_null_in_name>s csot|j}t|}gfd}fd}|jd|}|jd|}|jt|jd|fd|fg|jg|jd|jd|ddfgg|j|jd |ddfggt|j}|j d||jt|j||j t |j ddWdQX|jt|j||j d|d f|jt|j||j|jd |ddfgg|j d||j|jd|fg|j|jgg~t j |jd |jd|ddfgdS( Ncsjd|dS(Ntread(R2(tappend(R(ttrace(s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt read_tracerJscsjd|dS(Ntwrite(R6(R3(R(R4(s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt write_tracerLstrtwutspamR6RtwR2i+teggs(RRRttrace_variableRtsortedt trace_vinfotsetRt trace_vdeleteR*Rtgctcollect(R RtvnameR5R7tcb1tcb2R((R4s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt test_traceFsF .      ( R R RRRR R$R)R,R1RG(((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRs      t TestStringVarcBs#eZdZdZdZRS(cCs)t|j}|jd|jdS(NR(RRRR(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRzscCsXt|jdd}|jd|j|jjdd|jd|jdS(NR%R!R-(RRRRR/(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_get~scCsXt|jdd}|jd|j|jjdd|jd|jdS(NsabcdefR!svalue(RRRRR/(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt test_get_nulls(R R RRIRJ(((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRHxs  t TestIntVarcBs#eZdZdZdZRS(cCs)t|j}|jd|jdS(Ni(RRRR(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRscCsXt|jdd}|jd|j|jjdd|jd|jdS(Ni{R!t345iY(RRRRR/(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRIscCst|jdd}|jjdd|jt|jWdQX|jjdd|jt|jWdQXdS(NR!R-s345.0(RRR/R*R.R(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_invalid_values(R R RRIRM(((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRKs  t TestDoubleVarcBs,eZdZdZdZdZRS(cCs)t|j}|jd|jdS(Ng(RRRR(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRscCsXt|jdd}|jd|j|jjdd|jd|jdS(NgGz?R!s3.45g @(RRtassertAlmostEqualRR/(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRIscCst|jdd}|jd|j|jjdd|jd|j|jjdd|jd|jdS(NgGz?R!s3.45g @t456i(RRRORR/(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_get_from_ints cCsLt|jdd}|jjdd|jt|jWdQXdS(NR!R-(RRR/R*R.R(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRMs(R R RRIRQRM(((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRNs   tTestBooleanVarcBs,eZdZdZdZdZRS(cCs)t|j}|j|jtdS(N(RRtassertIsRtFalse(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRscCst|jtd}|j|jt|jjdd|j|jt|jjd|jjrudnd|j|jt|jjdd|j|jt|jjd|jjrdnd|j|jt|jjdd|j|jt|jjdd |j|jt|jjdd |j|jt|jjdd |j|jtdS( NR!t0i*iil*lltonu0uon(RRtTrueRSRR/RTt wantobjects(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRIs$((cCs|jjrdnd}|jjr0dnd}t|jdd}|jt|j|jjd||jd|j|jjd||jd|j|jjd||jd|j|jjd||jd|j|jjd||jd|j|jjd||jd |j|jjd||jd |j|jjd||jd |j|jjd|dS( Nit1iRUR!i*l*lRVu0uon(RRXRR@RWRt globalgetvar(R ttruetfalseR((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_sets*         cCs|jjrdnd}t|jdd}|jt|jdWdQX|j|jjd||jjdd|jt|j WdQX|jjdd|jt|j WdQXdS(NiRUR!R-s1.0( RRXRR*RR@RRZR/R(R R\R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_invalid_value_domains(R R RRIR]R^(((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRRs   t__main__(t run_unittest(tunittestRBtTkinterRRRRRRRtTestCaseRRRHRKRNRRt tests_guiR t test.supportR`(((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyts  4 h?   test_variables.pyo000064400000026236147205215210010314 0ustar00 zfc@sddlZddlZddlmZmZmZmZmZmZm Z dej fdYZ de fdYZ de fdYZ d e fd YZd e fd YZd e fdYZe e eeefZedkrddlmZeendS(iN(tVariablet StringVartIntVart DoubleVart BooleanVartTcltTclErrortTestBasecBseZdZdZRS(cCst|_dS(N(Rtroot(tself((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pytsetUp scCs |`dS(N(R(R ((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttearDown s(t__name__t __module__R R (((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRs t TestVariablecBsYeZdZdZdZdZdZdZdZdZ dZ RS( cGs"|jj|jjdd|S(Ntinfotexists(Rt getbooleantcall(R targs((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt info_existsscCs?t|j}|jd|j|jt|ddS(Nts ^PY_VAR(\d+)$(RRt assertEqualtgettassertRegexpMatcheststr(R tv((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt test_defaultscCsEt|jdd}|jd|j|jdt|dS(Ns sample stringtvarname(RRRRR(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_name_and_valuescCs^|j|jdt|jdd}|j|jd~|j|jddS(NRs sample string(t assertFalseRRRt assertTrue(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt test___del__s cCsv|j|jdt|jdd}t|jdd}~|j|jd~|j|jddS(NRtname(RRRR(R tv1tv2((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_dont_unset_not_existing&scCsxt|jdd}t|jdd}|j||t|jdd}t|jdd}|j||dS(NR!tabc(RRRRtassertNotEqual(R R"R#tv3tv4((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt test___eq__0s cCs-|jtt|jddWdQXdS(NR!i{(t assertRaisest TypeErrorRR(R ((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_invalid_name:sc Cs|jtt|jddWdQX|jt|jjddWdQX|jt|jjddWdQXdS(NR!svarnametvalue(R*t ValueErrorRRt globalsetvartsetvar(R ((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_null_in_name>s csot|j}t|}gfd}fd}|jd|}|jd|}|jt|jd|fd|fg|jg|jd|jd|ddfgg|j|jd |ddfggt|j}|j d||jt|j||j t |j ddWdQX|jt|j||j d|d f|jt|j||j|jd |ddfgg|j d||j|jd|fg|j|jgg~t j |jd |jd|ddfgdS( Ncsjd|dS(Ntread(R2(tappend(R(ttrace(s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt read_tracerJscsjd|dS(Ntwrite(R6(R3(R(R4(s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt write_tracerLstrtwutspamR6RtwR2i+teggs(RRRttrace_variableRtsortedt trace_vinfotsetRt trace_vdeleteR*Rtgctcollect(R RtvnameR5R7tcb1tcb2R((R4s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt test_traceFsF .      ( R R RRRR R$R)R,R1RG(((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRs      t TestStringVarcBs#eZdZdZdZRS(cCs)t|j}|jd|jdS(NR(RRRR(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRzscCsXt|jdd}|jd|j|jjdd|jd|jdS(NR%R!R-(RRRRR/(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_get~scCsXt|jdd}|jd|j|jjdd|jd|jdS(NsabcdefR!svalue(RRRRR/(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyt test_get_nulls(R R RRIRJ(((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRHxs  t TestIntVarcBs#eZdZdZdZRS(cCs)t|j}|jd|jdS(Ni(RRRR(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRscCsXt|jdd}|jd|j|jjdd|jd|jdS(Ni{R!t345iY(RRRRR/(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRIscCst|jdd}|jjdd|jt|jWdQX|jjdd|jt|jWdQXdS(NR!R-s345.0(RRR/R*R.R(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_invalid_values(R R RRIRM(((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRKs  t TestDoubleVarcBs,eZdZdZdZdZRS(cCs)t|j}|jd|jdS(Ng(RRRR(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRscCsXt|jdd}|jd|j|jjdd|jd|jdS(NgGz?R!s3.45g @(RRtassertAlmostEqualRR/(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRIscCst|jdd}|jd|j|jjdd|jd|j|jjdd|jd|jdS(NgGz?R!s3.45g @t456i(RRRORR/(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_get_from_ints cCsLt|jdd}|jjdd|jt|jWdQXdS(NR!R-(RRR/R*R.R(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRMs(R R RRIRQRM(((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRNs   tTestBooleanVarcBs,eZdZdZdZdZRS(cCs)t|j}|j|jtdS(N(RRtassertIsRtFalse(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRscCst|jtd}|j|jt|jjdd|j|jt|jjd|jjrudnd|j|jt|jjdd|j|jt|jjd|jjrdnd|j|jt|jjdd|j|jt|jjdd |j|jt|jjdd |j|jt|jjdd |j|jtdS( NR!t0i*iil*lltonu0uon(RRtTrueRSRR/RTt wantobjects(R R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRIs$((cCs|jjrdnd}|jjr0dnd}t|jdd}|jt|j|jjd||jd|j|jjd||jd|j|jjd||jd|j|jjd||jd|j|jjd||jd|j|jjd||jd |j|jjd||jd |j|jjd||jd |j|jjd|dS( Nit1iRUR!i*l*lRVu0uon(RRXRR@RWRt globalgetvar(R ttruetfalseR((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_sets*         cCs|jjrdnd}t|jdd}|jt|jdWdQX|j|jjd||jjdd|jt|j WdQX|jjdd|jt|j WdQXdS(NiRUR!R-s1.0( RRXRR*RR@RRZR/R(R R\R((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyttest_invalid_value_domains(R R RRIR]R^(((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyRRs   t__main__(t run_unittest(tunittestRBtTkinterRRRRRRRtTestCaseRRRHRKRNRRt tests_guiR t test.supportR`(((s?/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_variables.pyts  4 h?   test_widgets.py000064400000134207147205215210007631 0ustar00import unittest import Tkinter as tkinter from Tkinter import TclError import os import sys from test.test_support import requires, run_unittest from test_ttk.support import (tcl_version, requires_tcl, get_tk_patchlevel, widget_eq) from widget_tests import ( add_standard_options, noconv, noconv_meth, int_round, pixels_round, AbstractWidgetTest, StandardOptionsTests, IntegerSizeTests, PixelSizeTests, setUpModule) requires('gui') class AbstractToplevelTest(AbstractWidgetTest, PixelSizeTests): _conv_pad_pixels = noconv_meth def test_class(self): widget = self.create() self.assertEqual(widget['class'], widget.__class__.__name__.title()) self.checkInvalidParam(widget, 'class', 'Foo', errmsg="can't modify -class option after widget is created") widget2 = self.create(class_='Foo') self.assertEqual(widget2['class'], 'Foo') def test_colormap(self): widget = self.create() self.assertEqual(widget['colormap'], '') self.checkInvalidParam(widget, 'colormap', 'new', errmsg="can't modify -colormap option after widget is created") widget2 = self.create(colormap='new') self.assertEqual(widget2['colormap'], 'new') def test_container(self): widget = self.create() self.assertEqual(widget['container'], 0 if self.wantobjects else '0') self.checkInvalidParam(widget, 'container', 1, errmsg="can't modify -container option after widget is created") widget2 = self.create(container=True) self.assertEqual(widget2['container'], 1 if self.wantobjects else '1') def test_visual(self): widget = self.create() self.assertEqual(widget['visual'], '') self.checkInvalidParam(widget, 'visual', 'default', errmsg="can't modify -visual option after widget is created") widget2 = self.create(visual='default') self.assertEqual(widget2['visual'], 'default') @add_standard_options(StandardOptionsTests) class ToplevelTest(AbstractToplevelTest, unittest.TestCase): OPTIONS = ( 'background', 'borderwidth', 'class', 'colormap', 'container', 'cursor', 'height', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'menu', 'padx', 'pady', 'relief', 'screen', 'takefocus', 'use', 'visual', 'width', ) def create(self, **kwargs): return tkinter.Toplevel(self.root, **kwargs) def test_menu(self): widget = self.create() menu = tkinter.Menu(self.root) self.checkParam(widget, 'menu', menu, eq=widget_eq) self.checkParam(widget, 'menu', '') def test_screen(self): widget = self.create() self.assertEqual(widget['screen'], '') try: display = os.environ['DISPLAY'] except KeyError: self.skipTest('No $DISPLAY set.') self.checkInvalidParam(widget, 'screen', display, errmsg="can't modify -screen option after widget is created") widget2 = self.create(screen=display) self.assertEqual(widget2['screen'], display) def test_use(self): widget = self.create() self.assertEqual(widget['use'], '') parent = self.create(container=True) # hex() adds the 'L' suffix for longs wid = '%#x' % parent.winfo_id() widget2 = self.create(use=wid) self.assertEqual(widget2['use'], wid) @add_standard_options(StandardOptionsTests) class FrameTest(AbstractToplevelTest, unittest.TestCase): OPTIONS = ( 'background', 'borderwidth', 'class', 'colormap', 'container', 'cursor', 'height', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'padx', 'pady', 'relief', 'takefocus', 'visual', 'width', ) def create(self, **kwargs): return tkinter.Frame(self.root, **kwargs) @add_standard_options(StandardOptionsTests) class LabelFrameTest(AbstractToplevelTest, unittest.TestCase): OPTIONS = ( 'background', 'borderwidth', 'class', 'colormap', 'container', 'cursor', 'font', 'foreground', 'height', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'labelanchor', 'labelwidget', 'padx', 'pady', 'relief', 'takefocus', 'text', 'visual', 'width', ) def create(self, **kwargs): return tkinter.LabelFrame(self.root, **kwargs) def test_labelanchor(self): widget = self.create() self.checkEnumParam(widget, 'labelanchor', 'e', 'en', 'es', 'n', 'ne', 'nw', 's', 'se', 'sw', 'w', 'wn', 'ws') self.checkInvalidParam(widget, 'labelanchor', 'center') def test_labelwidget(self): widget = self.create() label = tkinter.Label(self.root, text='Mupp', name='foo') self.checkParam(widget, 'labelwidget', label, expected='.foo') label.destroy() class AbstractLabelTest(AbstractWidgetTest, IntegerSizeTests): _conv_pixels = noconv_meth def test_highlightthickness(self): widget = self.create() self.checkPixelsParam(widget, 'highlightthickness', 0, 1.3, 2.6, 6, -2, '10p') @add_standard_options(StandardOptionsTests) class LabelTest(AbstractLabelTest, unittest.TestCase): OPTIONS = ( 'activebackground', 'activeforeground', 'anchor', 'background', 'bitmap', 'borderwidth', 'compound', 'cursor', 'disabledforeground', 'font', 'foreground', 'height', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'image', 'justify', 'padx', 'pady', 'relief', 'state', 'takefocus', 'text', 'textvariable', 'underline', 'width', 'wraplength', ) def create(self, **kwargs): return tkinter.Label(self.root, **kwargs) @add_standard_options(StandardOptionsTests) class ButtonTest(AbstractLabelTest, unittest.TestCase): OPTIONS = ( 'activebackground', 'activeforeground', 'anchor', 'background', 'bitmap', 'borderwidth', 'command', 'compound', 'cursor', 'default', 'disabledforeground', 'font', 'foreground', 'height', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'image', 'justify', 'overrelief', 'padx', 'pady', 'relief', 'repeatdelay', 'repeatinterval', 'state', 'takefocus', 'text', 'textvariable', 'underline', 'width', 'wraplength') def create(self, **kwargs): return tkinter.Button(self.root, **kwargs) def test_default(self): widget = self.create() self.checkEnumParam(widget, 'default', 'active', 'disabled', 'normal') @add_standard_options(StandardOptionsTests) class CheckbuttonTest(AbstractLabelTest, unittest.TestCase): OPTIONS = ( 'activebackground', 'activeforeground', 'anchor', 'background', 'bitmap', 'borderwidth', 'command', 'compound', 'cursor', 'disabledforeground', 'font', 'foreground', 'height', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'image', 'indicatoron', 'justify', 'offrelief', 'offvalue', 'onvalue', 'overrelief', 'padx', 'pady', 'relief', 'selectcolor', 'selectimage', 'state', 'takefocus', 'text', 'textvariable', 'tristateimage', 'tristatevalue', 'underline', 'variable', 'width', 'wraplength', ) def create(self, **kwargs): return tkinter.Checkbutton(self.root, **kwargs) def test_offvalue(self): widget = self.create() self.checkParams(widget, 'offvalue', 1, 2.3, '', 'any string') def test_onvalue(self): widget = self.create() self.checkParams(widget, 'onvalue', 1, 2.3, '', 'any string') @add_standard_options(StandardOptionsTests) class RadiobuttonTest(AbstractLabelTest, unittest.TestCase): OPTIONS = ( 'activebackground', 'activeforeground', 'anchor', 'background', 'bitmap', 'borderwidth', 'command', 'compound', 'cursor', 'disabledforeground', 'font', 'foreground', 'height', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'image', 'indicatoron', 'justify', 'offrelief', 'overrelief', 'padx', 'pady', 'relief', 'selectcolor', 'selectimage', 'state', 'takefocus', 'text', 'textvariable', 'tristateimage', 'tristatevalue', 'underline', 'value', 'variable', 'width', 'wraplength', ) def create(self, **kwargs): return tkinter.Radiobutton(self.root, **kwargs) def test_value(self): widget = self.create() self.checkParams(widget, 'value', 1, 2.3, '', 'any string') @add_standard_options(StandardOptionsTests) class MenubuttonTest(AbstractLabelTest, unittest.TestCase): OPTIONS = ( 'activebackground', 'activeforeground', 'anchor', 'background', 'bitmap', 'borderwidth', 'compound', 'cursor', 'direction', 'disabledforeground', 'font', 'foreground', 'height', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'image', 'indicatoron', 'justify', 'menu', 'padx', 'pady', 'relief', 'state', 'takefocus', 'text', 'textvariable', 'underline', 'width', 'wraplength', ) _conv_pixels = staticmethod(pixels_round) def create(self, **kwargs): return tkinter.Menubutton(self.root, **kwargs) def test_direction(self): widget = self.create() self.checkEnumParam(widget, 'direction', 'above', 'below', 'flush', 'left', 'right') def test_height(self): widget = self.create() self.checkIntegerParam(widget, 'height', 100, -100, 0, conv=str) test_highlightthickness = StandardOptionsTests.test_highlightthickness.im_func @unittest.skipIf(sys.platform == 'darwin', 'crashes with Cocoa Tk (issue19733)') def test_image(self): widget = self.create() 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: widget['image'] = 'spam' if errmsg is not None: self.assertEqual(str(cm.exception), errmsg) with self.assertRaises(tkinter.TclError) as cm: widget.configure({'image': 'spam'}) if errmsg is not None: self.assertEqual(str(cm.exception), errmsg) def test_menu(self): widget = self.create() menu = tkinter.Menu(widget, name='menu') self.checkParam(widget, 'menu', menu, eq=widget_eq) menu.destroy() def test_padx(self): widget = self.create() self.checkPixelsParam(widget, 'padx', 3, 4.4, 5.6, '12m') self.checkParam(widget, 'padx', -2, expected=0) def test_pady(self): widget = self.create() self.checkPixelsParam(widget, 'pady', 3, 4.4, 5.6, '12m') self.checkParam(widget, 'pady', -2, expected=0) def test_width(self): widget = self.create() self.checkIntegerParam(widget, 'width', 402, -402, 0, conv=str) class OptionMenuTest(MenubuttonTest, unittest.TestCase): def create(self, default='b', values=('a', 'b', 'c'), **kwargs): return tkinter.OptionMenu(self.root, None, default, *values, **kwargs) @add_standard_options(IntegerSizeTests, StandardOptionsTests) class EntryTest(AbstractWidgetTest, unittest.TestCase): OPTIONS = ( 'background', 'borderwidth', 'cursor', 'disabledbackground', 'disabledforeground', 'exportselection', 'font', 'foreground', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'insertbackground', 'insertborderwidth', 'insertofftime', 'insertontime', 'insertwidth', 'invalidcommand', 'justify', 'readonlybackground', 'relief', 'selectbackground', 'selectborderwidth', 'selectforeground', 'show', 'state', 'takefocus', 'textvariable', 'validate', 'validatecommand', 'width', 'xscrollcommand', ) def create(self, **kwargs): return tkinter.Entry(self.root, **kwargs) def test_disabledbackground(self): widget = self.create() self.checkColorParam(widget, 'disabledbackground') def test_insertborderwidth(self): widget = self.create(insertwidth=100) self.checkPixelsParam(widget, 'insertborderwidth', 0, 1.3, 2.6, 6, -2, '10p') # insertborderwidth is bounded above by a half of insertwidth. self.checkParam(widget, 'insertborderwidth', 60, expected=100//2) def test_insertwidth(self): widget = self.create() self.checkPixelsParam(widget, 'insertwidth', 1.3, 3.6, '10p') self.checkParam(widget, 'insertwidth', 0.1, expected=2) self.checkParam(widget, 'insertwidth', -2, expected=2) if pixels_round(0.9) <= 0: self.checkParam(widget, 'insertwidth', 0.9, expected=2) else: self.checkParam(widget, 'insertwidth', 0.9, expected=1) def test_invalidcommand(self): widget = self.create() self.checkCommandParam(widget, 'invalidcommand') self.checkCommandParam(widget, 'invcmd') def test_readonlybackground(self): widget = self.create() self.checkColorParam(widget, 'readonlybackground') def test_show(self): widget = self.create() self.checkParam(widget, 'show', '*') self.checkParam(widget, 'show', '') self.checkParam(widget, 'show', ' ') def test_state(self): widget = self.create() self.checkEnumParam(widget, 'state', 'disabled', 'normal', 'readonly') def test_validate(self): widget = self.create() self.checkEnumParam(widget, 'validate', 'all', 'key', 'focus', 'focusin', 'focusout', 'none') def test_validatecommand(self): widget = self.create() self.checkCommandParam(widget, 'validatecommand') self.checkCommandParam(widget, 'vcmd') @add_standard_options(StandardOptionsTests) class SpinboxTest(EntryTest, unittest.TestCase): OPTIONS = ( 'activebackground', 'background', 'borderwidth', 'buttonbackground', 'buttoncursor', 'buttondownrelief', 'buttonuprelief', 'command', 'cursor', 'disabledbackground', 'disabledforeground', 'exportselection', 'font', 'foreground', 'format', 'from', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'increment', 'insertbackground', 'insertborderwidth', 'insertofftime', 'insertontime', 'insertwidth', 'invalidcommand', 'justify', 'relief', 'readonlybackground', 'repeatdelay', 'repeatinterval', 'selectbackground', 'selectborderwidth', 'selectforeground', 'state', 'takefocus', 'textvariable', 'to', 'validate', 'validatecommand', 'values', 'width', 'wrap', 'xscrollcommand', ) def create(self, **kwargs): return tkinter.Spinbox(self.root, **kwargs) test_show = None def test_buttonbackground(self): widget = self.create() self.checkColorParam(widget, 'buttonbackground') def test_buttoncursor(self): widget = self.create() self.checkCursorParam(widget, 'buttoncursor') def test_buttondownrelief(self): widget = self.create() self.checkReliefParam(widget, 'buttondownrelief') def test_buttonuprelief(self): widget = self.create() self.checkReliefParam(widget, 'buttonuprelief') def test_format(self): widget = self.create() self.checkParam(widget, 'format', '%2f') self.checkParam(widget, 'format', '%2.2f') self.checkParam(widget, 'format', '%.2f') self.checkParam(widget, 'format', '%2.f') self.checkInvalidParam(widget, 'format', '%2e-1f') self.checkInvalidParam(widget, 'format', '2.2') self.checkInvalidParam(widget, 'format', '%2.-2f') self.checkParam(widget, 'format', '%-2.02f') self.checkParam(widget, 'format', '% 2.02f') self.checkParam(widget, 'format', '% -2.200f') self.checkParam(widget, 'format', '%09.200f') self.checkInvalidParam(widget, 'format', '%d') def test_from(self): widget = self.create() self.checkParam(widget, 'to', 100.0) self.checkFloatParam(widget, 'from', -10, 10.2, 11.7) self.checkInvalidParam(widget, 'from', 200, errmsg='-to value must be greater than -from value') def test_increment(self): widget = self.create() self.checkFloatParam(widget, 'increment', -1, 1, 10.2, 12.8, 0) def test_to(self): widget = self.create() self.checkParam(widget, 'from', -100.0) self.checkFloatParam(widget, 'to', -10, 10.2, 11.7) self.checkInvalidParam(widget, 'to', -200, errmsg='-to value must be greater than -from value') def test_values(self): # XXX widget = self.create() self.assertEqual(widget['values'], '') self.checkParam(widget, 'values', 'mon tue wed thur') self.checkParam(widget, 'values', ('mon', 'tue', 'wed', 'thur'), expected='mon tue wed thur') self.checkParam(widget, 'values', (42, 3.14, '', 'any string'), expected='42 3.14 {} {any string}') self.checkParam(widget, 'values', '') def test_wrap(self): widget = self.create() self.checkBooleanParam(widget, 'wrap') def test_bbox(self): widget = self.create() self.assertIsBoundingBox(widget.bbox(0)) self.assertRaises(tkinter.TclError, widget.bbox, 'noindex') self.assertRaises(tkinter.TclError, widget.bbox, None) self.assertRaises(TypeError, widget.bbox) self.assertRaises(TypeError, widget.bbox, 0, 1) def test_selection_element(self): widget = self.create() self.assertEqual(widget.selection_element(), "none") widget.selection_element("buttonup") self.assertEqual(widget.selection_element(), "buttonup") widget.selection_element("buttondown") self.assertEqual(widget.selection_element(), "buttondown") @add_standard_options(StandardOptionsTests) class TextTest(AbstractWidgetTest, unittest.TestCase): OPTIONS = ( 'autoseparators', 'background', 'blockcursor', 'borderwidth', 'cursor', 'endline', 'exportselection', 'font', 'foreground', 'height', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'inactiveselectbackground', 'insertbackground', 'insertborderwidth', 'insertofftime', 'insertontime', 'insertunfocussed', 'insertwidth', 'maxundo', 'padx', 'pady', 'relief', 'selectbackground', 'selectborderwidth', 'selectforeground', 'setgrid', 'spacing1', 'spacing2', 'spacing3', 'startline', 'state', 'tabs', 'tabstyle', 'takefocus', 'undo', 'width', 'wrap', 'xscrollcommand', 'yscrollcommand', ) if tcl_version < (8, 5): _stringify = True def create(self, **kwargs): return tkinter.Text(self.root, **kwargs) def test_autoseparators(self): widget = self.create() self.checkBooleanParam(widget, 'autoseparators') @requires_tcl(8, 5) def test_blockcursor(self): widget = self.create() self.checkBooleanParam(widget, 'blockcursor') @requires_tcl(8, 5) def test_endline(self): widget = self.create() text = '\n'.join('Line %d' for i in range(100)) widget.insert('end', text) self.checkParam(widget, 'endline', 200, expected='') self.checkParam(widget, 'endline', -10, expected='') self.checkInvalidParam(widget, 'endline', 'spam', errmsg='expected integer but got "spam"') self.checkParam(widget, 'endline', 50) self.checkParam(widget, 'startline', 15) self.checkInvalidParam(widget, 'endline', 10, errmsg='-startline must be less than or equal to -endline') def test_height(self): widget = self.create() self.checkPixelsParam(widget, 'height', 100, 101.2, 102.6, '3c') self.checkParam(widget, 'height', -100, expected=1) self.checkParam(widget, 'height', 0, expected=1) def test_maxundo(self): widget = self.create() self.checkIntegerParam(widget, 'maxundo', 0, 5, -1) @requires_tcl(8, 5) def test_inactiveselectbackground(self): widget = self.create() self.checkColorParam(widget, 'inactiveselectbackground') @requires_tcl(8, 6) def test_insertunfocussed(self): widget = self.create() self.checkEnumParam(widget, 'insertunfocussed', 'hollow', 'none', 'solid') def test_selectborderwidth(self): widget = self.create() self.checkPixelsParam(widget, 'selectborderwidth', 1.3, 2.6, -2, '10p', conv=noconv, keep_orig=tcl_version >= (8, 5)) def test_spacing1(self): widget = self.create() self.checkPixelsParam(widget, 'spacing1', 20, 21.4, 22.6, '0.5c') self.checkParam(widget, 'spacing1', -5, expected=0) def test_spacing2(self): widget = self.create() self.checkPixelsParam(widget, 'spacing2', 5, 6.4, 7.6, '0.1c') self.checkParam(widget, 'spacing2', -1, expected=0) def test_spacing3(self): widget = self.create() self.checkPixelsParam(widget, 'spacing3', 20, 21.4, 22.6, '0.5c') self.checkParam(widget, 'spacing3', -10, expected=0) @requires_tcl(8, 5) def test_startline(self): widget = self.create() text = '\n'.join('Line %d' for i in range(100)) widget.insert('end', text) self.checkParam(widget, 'startline', 200, expected='') self.checkParam(widget, 'startline', -10, expected='') self.checkInvalidParam(widget, 'startline', 'spam', errmsg='expected integer but got "spam"') self.checkParam(widget, 'startline', 10) self.checkParam(widget, 'endline', 50) self.checkInvalidParam(widget, 'startline', 70, errmsg='-startline must be less than or equal to -endline') def test_state(self): widget = self.create() if tcl_version < (8, 5): self.checkParams(widget, 'state', 'disabled', 'normal') else: self.checkEnumParam(widget, 'state', 'disabled', 'normal') def test_tabs(self): widget = self.create() if get_tk_patchlevel() < (8, 5, 11): self.checkParam(widget, 'tabs', (10.2, 20.7, '1i', '2i'), expected=('10.2', '20.7', '1i', '2i')) else: self.checkParam(widget, 'tabs', (10.2, 20.7, '1i', '2i')) self.checkParam(widget, 'tabs', '10.2 20.7 1i 2i', expected=('10.2', '20.7', '1i', '2i')) self.checkParam(widget, 'tabs', '2c left 4c 6c center', expected=('2c', 'left', '4c', '6c', 'center')) self.checkInvalidParam(widget, 'tabs', 'spam', errmsg='bad screen distance "spam"', keep_orig=tcl_version >= (8, 5)) @requires_tcl(8, 5) def test_tabstyle(self): widget = self.create() self.checkEnumParam(widget, 'tabstyle', 'tabular', 'wordprocessor') def test_undo(self): widget = self.create() self.checkBooleanParam(widget, 'undo') def test_width(self): widget = self.create() self.checkIntegerParam(widget, 'width', 402) self.checkParam(widget, 'width', -402, expected=1) self.checkParam(widget, 'width', 0, expected=1) def test_wrap(self): widget = self.create() if tcl_version < (8, 5): self.checkParams(widget, 'wrap', 'char', 'none', 'word') else: self.checkEnumParam(widget, 'wrap', 'char', 'none', 'word') def test_bbox(self): widget = self.create() self.assertIsBoundingBox(widget.bbox('1.1')) self.assertIsNone(widget.bbox('end')) self.assertRaises(tkinter.TclError, widget.bbox, 'noindex') self.assertRaises(tkinter.TclError, widget.bbox, None) self.assertRaises(tkinter.TclError, widget.bbox) self.assertRaises(tkinter.TclError, widget.bbox, '1.1', 'end') @add_standard_options(PixelSizeTests, StandardOptionsTests) class CanvasTest(AbstractWidgetTest, unittest.TestCase): OPTIONS = ( 'background', 'borderwidth', 'closeenough', 'confine', 'cursor', 'height', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'insertbackground', 'insertborderwidth', 'insertofftime', 'insertontime', 'insertwidth', 'offset', 'relief', 'scrollregion', 'selectbackground', 'selectborderwidth', 'selectforeground', 'state', 'takefocus', 'xscrollcommand', 'xscrollincrement', 'yscrollcommand', 'yscrollincrement', 'width', ) _conv_pixels = staticmethod(int_round) _stringify = True def create(self, **kwargs): return tkinter.Canvas(self.root, **kwargs) def test_closeenough(self): widget = self.create() self.checkFloatParam(widget, 'closeenough', 24, 2.4, 3.6, -3, conv=float) def test_confine(self): widget = self.create() self.checkBooleanParam(widget, 'confine') def test_offset(self): widget = self.create() self.assertEqual(widget['offset'], '0,0') self.checkParams(widget, 'offset', 'n', 'ne', 'e', 'se', 's', 'sw', 'w', 'nw', 'center') self.checkParam(widget, 'offset', '10,20') self.checkParam(widget, 'offset', '#5,6') self.checkInvalidParam(widget, 'offset', 'spam') def test_scrollregion(self): widget = self.create() self.checkParam(widget, 'scrollregion', '0 0 200 150') self.checkParam(widget, 'scrollregion', (0, 0, 200, 150), expected='0 0 200 150') self.checkParam(widget, 'scrollregion', '') self.checkInvalidParam(widget, 'scrollregion', 'spam', errmsg='bad scrollRegion "spam"') self.checkInvalidParam(widget, 'scrollregion', (0, 0, 200, 'spam')) self.checkInvalidParam(widget, 'scrollregion', (0, 0, 200)) self.checkInvalidParam(widget, 'scrollregion', (0, 0, 200, 150, 0)) def test_state(self): widget = self.create() self.checkEnumParam(widget, 'state', 'disabled', 'normal', errmsg='bad state value "{}": must be normal or disabled') def test_xscrollincrement(self): widget = self.create() self.checkPixelsParam(widget, 'xscrollincrement', 40, 0, 41.2, 43.6, -40, '0.5i') def test_yscrollincrement(self): widget = self.create() self.checkPixelsParam(widget, 'yscrollincrement', 10, 0, 11.2, 13.6, -10, '0.1i') @add_standard_options(IntegerSizeTests, StandardOptionsTests) class ListboxTest(AbstractWidgetTest, unittest.TestCase): OPTIONS = ( 'activestyle', 'background', 'borderwidth', 'cursor', 'disabledforeground', 'exportselection', 'font', 'foreground', 'height', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'justify', 'listvariable', 'relief', 'selectbackground', 'selectborderwidth', 'selectforeground', 'selectmode', 'setgrid', 'state', 'takefocus', 'width', 'xscrollcommand', 'yscrollcommand', ) def create(self, **kwargs): return tkinter.Listbox(self.root, **kwargs) def test_activestyle(self): widget = self.create() self.checkEnumParam(widget, 'activestyle', 'dotbox', 'none', 'underline') test_justify = requires_tcl(8, 6, 5)(StandardOptionsTests.test_justify.im_func) def test_listvariable(self): widget = self.create() var = tkinter.DoubleVar(self.root) self.checkVariableParam(widget, 'listvariable', var) def test_selectmode(self): widget = self.create() self.checkParam(widget, 'selectmode', 'single') self.checkParam(widget, 'selectmode', 'browse') self.checkParam(widget, 'selectmode', 'multiple') self.checkParam(widget, 'selectmode', 'extended') def test_state(self): widget = self.create() self.checkEnumParam(widget, 'state', 'disabled', 'normal') def test_itemconfigure(self): widget = self.create() with self.assertRaisesRegexp(TclError, 'item number "0" out of range'): widget.itemconfigure(0) colors = 'red orange yellow green blue white violet'.split() widget.insert('end', *colors) for i, color in enumerate(colors): widget.itemconfigure(i, background=color) with self.assertRaises(TypeError): widget.itemconfigure() with self.assertRaisesRegexp(TclError, 'bad listbox index "red"'): widget.itemconfigure('red') self.assertEqual(widget.itemconfigure(0, 'background'), ('background', 'background', 'Background', '', 'red')) self.assertEqual(widget.itemconfigure('end', 'background'), ('background', 'background', 'Background', '', 'violet')) self.assertEqual(widget.itemconfigure('@0,0', 'background'), ('background', 'background', 'Background', '', 'red')) d = widget.itemconfigure(0) self.assertIsInstance(d, dict) for k, v in d.items(): self.assertIn(len(v), (2, 5)) if len(v) == 5: self.assertEqual(v, widget.itemconfigure(0, k)) self.assertEqual(v[4], widget.itemcget(0, k)) def check_itemconfigure(self, name, value): widget = self.create() widget.insert('end', 'a', 'b', 'c', 'd') widget.itemconfigure(0, **{name: value}) self.assertEqual(widget.itemconfigure(0, name)[4], value) self.assertEqual(widget.itemcget(0, name), value) with self.assertRaisesRegexp(TclError, 'unknown color name "spam"'): widget.itemconfigure(0, **{name: 'spam'}) def test_itemconfigure_background(self): self.check_itemconfigure('background', '#ff0000') def test_itemconfigure_bg(self): self.check_itemconfigure('bg', '#ff0000') def test_itemconfigure_fg(self): self.check_itemconfigure('fg', '#110022') def test_itemconfigure_foreground(self): self.check_itemconfigure('foreground', '#110022') def test_itemconfigure_selectbackground(self): self.check_itemconfigure('selectbackground', '#110022') def test_itemconfigure_selectforeground(self): self.check_itemconfigure('selectforeground', '#654321') def test_box(self): lb = self.create() lb.insert(0, *('el%d' % i for i in range(8))) lb.pack() self.assertIsBoundingBox(lb.bbox(0)) self.assertIsNone(lb.bbox(-1)) self.assertIsNone(lb.bbox(10)) self.assertRaises(TclError, lb.bbox, 'noindex') self.assertRaises(TclError, lb.bbox, None) self.assertRaises(TypeError, lb.bbox) self.assertRaises(TypeError, lb.bbox, 0, 1) def test_curselection(self): lb = self.create() lb.insert(0, *('el%d' % i for i in range(8))) lb.selection_clear(0, tkinter.END) lb.selection_set(2, 4) lb.selection_set(6) self.assertEqual(lb.curselection(), (2, 3, 4, 6)) self.assertRaises(TypeError, lb.curselection, 0) def test_get(self): lb = self.create() lb.insert(0, *('el%d' % i for i in range(8))) self.assertEqual(lb.get(0), 'el0') self.assertEqual(lb.get(3), 'el3') self.assertEqual(lb.get('end'), 'el7') self.assertEqual(lb.get(8), '') self.assertEqual(lb.get(-1), '') self.assertEqual(lb.get(3, 5), ('el3', 'el4', 'el5')) self.assertEqual(lb.get(5, 'end'), ('el5', 'el6', 'el7')) self.assertEqual(lb.get(5, 0), ()) self.assertEqual(lb.get(0, 0), ('el0',)) self.assertRaises(TclError, lb.get, 'noindex') self.assertRaises(TclError, lb.get, None) self.assertRaises(TypeError, lb.get) self.assertRaises(TclError, lb.get, 'end', 'noindex') self.assertRaises(TypeError, lb.get, 1, 2, 3) self.assertRaises(TclError, lb.get, 2.4) @add_standard_options(PixelSizeTests, StandardOptionsTests) class ScaleTest(AbstractWidgetTest, unittest.TestCase): OPTIONS = ( 'activebackground', 'background', 'bigincrement', 'borderwidth', 'command', 'cursor', 'digits', 'font', 'foreground', 'from', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'label', 'length', 'orient', 'relief', 'repeatdelay', 'repeatinterval', 'resolution', 'showvalue', 'sliderlength', 'sliderrelief', 'state', 'takefocus', 'tickinterval', 'to', 'troughcolor', 'variable', 'width', ) default_orient = 'vertical' def create(self, **kwargs): return tkinter.Scale(self.root, **kwargs) def test_bigincrement(self): widget = self.create() self.checkFloatParam(widget, 'bigincrement', 12.4, 23.6, -5) def test_digits(self): widget = self.create() self.checkIntegerParam(widget, 'digits', 5, 0) def test_from(self): widget = self.create() self.checkFloatParam(widget, 'from', 100, 14.9, 15.1, conv=round) def test_label(self): widget = self.create() self.checkParam(widget, 'label', 'any string') self.checkParam(widget, 'label', '') def test_length(self): widget = self.create() self.checkPixelsParam(widget, 'length', 130, 131.2, 135.6, '5i') def test_resolution(self): widget = self.create() self.checkFloatParam(widget, 'resolution', 4.2, 0, 6.7, -2) def test_showvalue(self): widget = self.create() self.checkBooleanParam(widget, 'showvalue') def test_sliderlength(self): widget = self.create() self.checkPixelsParam(widget, 'sliderlength', 10, 11.2, 15.6, -3, '3m') def test_sliderrelief(self): widget = self.create() self.checkReliefParam(widget, 'sliderrelief') def test_tickinterval(self): widget = self.create() self.checkFloatParam(widget, 'tickinterval', 1, 4.3, 7.6, 0, conv=round) self.checkParam(widget, 'tickinterval', -2, expected=2, conv=round) def test_to(self): widget = self.create() self.checkFloatParam(widget, 'to', 300, 14.9, 15.1, -10, conv=round) @add_standard_options(PixelSizeTests, StandardOptionsTests) class ScrollbarTest(AbstractWidgetTest, unittest.TestCase): OPTIONS = ( 'activebackground', 'activerelief', 'background', 'borderwidth', 'command', 'cursor', 'elementborderwidth', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'jump', 'orient', 'relief', 'repeatdelay', 'repeatinterval', 'takefocus', 'troughcolor', 'width', ) _conv_pixels = staticmethod(int_round) _stringify = True default_orient = 'vertical' def create(self, **kwargs): return tkinter.Scrollbar(self.root, **kwargs) def test_activerelief(self): widget = self.create() self.checkReliefParam(widget, 'activerelief') def test_elementborderwidth(self): widget = self.create() self.checkPixelsParam(widget, 'elementborderwidth', 4.3, 5.6, -2, '1m') def test_orient(self): widget = self.create() self.checkEnumParam(widget, 'orient', 'vertical', 'horizontal', errmsg='bad orientation "{}": must be vertical or horizontal') def test_activate(self): sb = self.create() for e in ('arrow1', 'slider', 'arrow2'): sb.activate(e) sb.activate('') self.assertRaises(TypeError, sb.activate) self.assertRaises(TypeError, sb.activate, 'arrow1', 'arrow2') def test_set(self): sb = self.create() sb.set(0.2, 0.4) self.assertEqual(sb.get(), (0.2, 0.4)) self.assertRaises(TclError, sb.set, 'abc', 'def') self.assertRaises(TclError, sb.set, 0.6, 'def') self.assertRaises(TclError, sb.set, 0.6, None) self.assertRaises(TclError, sb.set, 0.6) self.assertRaises(TclError, sb.set, 0.6, 0.7, 0.8) @add_standard_options(StandardOptionsTests) class PanedWindowTest(AbstractWidgetTest, unittest.TestCase): OPTIONS = ( 'background', 'borderwidth', 'cursor', 'handlepad', 'handlesize', 'height', 'opaqueresize', 'orient', 'proxybackground', 'proxyborderwidth', 'proxyrelief', 'relief', 'sashcursor', 'sashpad', 'sashrelief', 'sashwidth', 'showhandle', 'width', ) default_orient = 'horizontal' def create(self, **kwargs): return tkinter.PanedWindow(self.root, **kwargs) def test_handlepad(self): widget = self.create() self.checkPixelsParam(widget, 'handlepad', 5, 6.4, 7.6, -3, '1m') def test_handlesize(self): widget = self.create() self.checkPixelsParam(widget, 'handlesize', 8, 9.4, 10.6, -3, '2m', conv=noconv) def test_height(self): widget = self.create() self.checkPixelsParam(widget, 'height', 100, 101.2, 102.6, -100, 0, '1i', conv=noconv) def test_opaqueresize(self): widget = self.create() self.checkBooleanParam(widget, 'opaqueresize') @requires_tcl(8, 6, 5) def test_proxybackground(self): widget = self.create() self.checkColorParam(widget, 'proxybackground') @requires_tcl(8, 6, 5) def test_proxyborderwidth(self): widget = self.create() self.checkPixelsParam(widget, 'proxyborderwidth', 0, 1.3, 2.9, 6, -2, '10p', conv=noconv) @requires_tcl(8, 6, 5) def test_proxyrelief(self): widget = self.create() self.checkReliefParam(widget, 'proxyrelief') def test_sashcursor(self): widget = self.create() self.checkCursorParam(widget, 'sashcursor') def test_sashpad(self): widget = self.create() self.checkPixelsParam(widget, 'sashpad', 8, 1.3, 2.6, -2, '2m') def test_sashrelief(self): widget = self.create() self.checkReliefParam(widget, 'sashrelief') def test_sashwidth(self): widget = self.create() self.checkPixelsParam(widget, 'sashwidth', 10, 11.1, 15.6, -3, '1m', conv=noconv) def test_showhandle(self): widget = self.create() self.checkBooleanParam(widget, 'showhandle') def test_width(self): widget = self.create() self.checkPixelsParam(widget, 'width', 402, 403.4, 404.6, -402, 0, '5i', conv=noconv) def create2(self): p = self.create() b = tkinter.Button(p) c = tkinter.Button(p) p.add(b) p.add(c) return p, b, c def test_paneconfigure(self): p, b, c = self.create2() self.assertRaises(TypeError, p.paneconfigure) d = p.paneconfigure(b) self.assertIsInstance(d, dict) for k, v in d.items(): self.assertEqual(len(v), 5) self.assertEqual(v, p.paneconfigure(b, k)) self.assertEqual(v[4], p.panecget(b, k)) def check_paneconfigure(self, p, b, name, value, expected, stringify=False): conv = lambda x: x if not self.wantobjects or stringify: expected = str(expected) if self.wantobjects and stringify: conv = str p.paneconfigure(b, **{name: value}) self.assertEqual(conv(p.paneconfigure(b, name)[4]), expected) self.assertEqual(conv(p.panecget(b, name)), expected) def check_paneconfigure_bad(self, p, b, name, msg): with self.assertRaisesRegexp(TclError, msg): p.paneconfigure(b, **{name: 'badValue'}) def test_paneconfigure_after(self): p, b, c = self.create2() self.check_paneconfigure(p, b, 'after', c, str(c)) self.check_paneconfigure_bad(p, b, 'after', 'bad window path name "badValue"') def test_paneconfigure_before(self): p, b, c = self.create2() self.check_paneconfigure(p, b, 'before', c, str(c)) self.check_paneconfigure_bad(p, b, 'before', 'bad window path name "badValue"') def test_paneconfigure_height(self): p, b, c = self.create2() self.check_paneconfigure(p, b, 'height', 10, 10, stringify=get_tk_patchlevel() < (8, 5, 11)) self.check_paneconfigure_bad(p, b, 'height', 'bad screen distance "badValue"') @requires_tcl(8, 5) def test_paneconfigure_hide(self): p, b, c = self.create2() self.check_paneconfigure(p, b, 'hide', False, 0) self.check_paneconfigure_bad(p, b, 'hide', 'expected boolean value but got "badValue"') def test_paneconfigure_minsize(self): p, b, c = self.create2() self.check_paneconfigure(p, b, 'minsize', 10, 10) self.check_paneconfigure_bad(p, b, 'minsize', 'bad screen distance "badValue"') def test_paneconfigure_padx(self): p, b, c = self.create2() self.check_paneconfigure(p, b, 'padx', 1.3, 1) self.check_paneconfigure_bad(p, b, 'padx', 'bad screen distance "badValue"') def test_paneconfigure_pady(self): p, b, c = self.create2() self.check_paneconfigure(p, b, 'pady', 1.3, 1) self.check_paneconfigure_bad(p, b, 'pady', 'bad screen distance "badValue"') def test_paneconfigure_sticky(self): p, b, c = self.create2() self.check_paneconfigure(p, b, 'sticky', 'nsew', 'nesw') self.check_paneconfigure_bad(p, b, 'sticky', 'bad stickyness value "badValue": must ' 'be a string containing zero or more of ' 'n, e, s, and w') @requires_tcl(8, 5) def test_paneconfigure_stretch(self): p, b, c = self.create2() self.check_paneconfigure(p, b, 'stretch', 'alw', 'always') self.check_paneconfigure_bad(p, b, 'stretch', 'bad stretch "badValue": must be ' 'always, first, last, middle, or never') def test_paneconfigure_width(self): p, b, c = self.create2() self.check_paneconfigure(p, b, 'width', 10, 10, stringify=get_tk_patchlevel() < (8, 5, 11)) self.check_paneconfigure_bad(p, b, 'width', 'bad screen distance "badValue"') @add_standard_options(StandardOptionsTests) class MenuTest(AbstractWidgetTest, unittest.TestCase): OPTIONS = ( 'activebackground', 'activeborderwidth', 'activeforeground', 'background', 'borderwidth', 'cursor', 'disabledforeground', 'font', 'foreground', 'postcommand', 'relief', 'selectcolor', 'takefocus', 'tearoff', 'tearoffcommand', 'title', 'type', ) _conv_pixels = noconv_meth def create(self, **kwargs): return tkinter.Menu(self.root, **kwargs) def test_postcommand(self): widget = self.create() self.checkCommandParam(widget, 'postcommand') def test_tearoff(self): widget = self.create() self.checkBooleanParam(widget, 'tearoff') def test_tearoffcommand(self): widget = self.create() self.checkCommandParam(widget, 'tearoffcommand') def test_title(self): widget = self.create() self.checkParam(widget, 'title', 'any string') def test_type(self): widget = self.create() self.checkEnumParam(widget, 'type', 'normal', 'tearoff', 'menubar') def test_entryconfigure(self): m1 = self.create() m1.add_command(label='test') self.assertRaises(TypeError, m1.entryconfigure) with self.assertRaisesRegexp(TclError, 'bad menu entry index "foo"'): m1.entryconfigure('foo') d = m1.entryconfigure(1) self.assertIsInstance(d, dict) for k, v in d.items(): self.assertIsInstance(k, str) self.assertIsInstance(v, tuple) self.assertEqual(len(v), 5) self.assertEqual(v[0], k) self.assertEqual(m1.entrycget(1, k), v[4]) m1.destroy() def test_entryconfigure_label(self): m1 = self.create() m1.add_command(label='test') self.assertEqual(m1.entrycget(1, 'label'), 'test') m1.entryconfigure(1, label='changed') self.assertEqual(m1.entrycget(1, 'label'), 'changed') def test_entryconfigure_variable(self): m1 = self.create() v1 = tkinter.BooleanVar(self.root) v2 = tkinter.BooleanVar(self.root) m1.add_checkbutton(variable=v1, onvalue=True, offvalue=False, label='Nonsense') self.assertEqual(str(m1.entrycget(1, 'variable')), str(v1)) m1.entryconfigure(1, variable=v2) self.assertEqual(str(m1.entrycget(1, 'variable')), str(v2)) @add_standard_options(PixelSizeTests, StandardOptionsTests) class MessageTest(AbstractWidgetTest, unittest.TestCase): OPTIONS = ( 'anchor', 'aspect', 'background', 'borderwidth', 'cursor', 'font', 'foreground', 'highlightbackground', 'highlightcolor', 'highlightthickness', 'justify', 'padx', 'pady', 'relief', 'takefocus', 'text', 'textvariable', 'width', ) _conv_pad_pixels = noconv_meth def create(self, **kwargs): return tkinter.Message(self.root, **kwargs) def test_aspect(self): widget = self.create() self.checkIntegerParam(widget, 'aspect', 250, 0, -300) tests_gui = [ ButtonTest, CanvasTest, CheckbuttonTest, EntryTest, FrameTest, LabelFrameTest,LabelTest, ListboxTest, MenubuttonTest, MenuTest, MessageTest, OptionMenuTest, PanedWindowTest, RadiobuttonTest, ScaleTest, ScrollbarTest, SpinboxTest, TextTest, ToplevelTest, ] if __name__ == '__main__': run_unittest(*tests_gui) test_widgets.pyc000064400000172022147205215210007771 0ustar00 zfc@sTddlZddlZddlmZddlZddlZddlmZmZddl m Z m Z m Z m Z ddlmZmZmZmZmZmZmZmZmZmZeddeefdYZeed eejfd YZeed eejfd YZeed eejfdYZdeefdYZeedeejfdYZeedeejfdYZ eedeejfdYZ!eedeejfdYZ"eedeejfdYZ#de#ejfdYZ$eeedeejfdYZ%eede%ejfd YZ&eed!eejfd"YZ'eeed#eejfd$YZ(eeed%eejfd&YZ)eeed'eejfd(YZ*eeed)eejfd*YZ+eed+eejfd,YZ,eed-eejfd.YZ-eeed/eejfd0YZ.e e(e!e%eeee)e#e-e.e$e,e"e*e+e&e'egZ/e0d1krPee/ndS(2iN(tTclError(trequirest run_unittest(t tcl_versiont requires_tcltget_tk_patchlevelt widget_eq( tadd_standard_optionstnoconvt noconv_metht int_roundt pixels_roundtAbstractWidgetTesttStandardOptionsTeststIntegerSizeTeststPixelSizeTestst setUpModuletguitAbstractToplevelTestcBs2eZeZdZdZdZdZRS(cCso|j}|j|d|jjj|j|dddd|jdd}|j|dddS(NtclasstFooterrmsgs2can't modify -class option after widget is createdtclass_(tcreatet assertEqualt __class__t__name__ttitletcheckInvalidParam(tselftwidgettwidget2((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_classs  cCsc|j}|j|dd|j|dddd|jdd}|j|dddS(NtcolormapttnewRs5can't modify -colormap option after widget is created(RRR(RRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_colormaps  cCs|j}|j|d|jr(dnd|j|dddd|jdt}|j|d|jrvdnddS(Nt containerit0iRs6can't modify -container option after widget is createdt1(RRt wantobjectsRtTrue(RRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_container's  #cCsc|j}|j|dd|j|dddd|jdd}|j|dddS(NtvisualR"tdefaultRs3can't modify -visual option after widget is created(RRR(RRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_visual/s  (Rt __module__R t_conv_pad_pixelsR R$R*R-(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs   t ToplevelTestcBs2eZdZdZdZdZdZRS(t backgroundt borderwidthRR!R%tcursortheightthighlightbackgroundthighlightcolorthighlightthicknesstmenutpadxtpadytrelieftscreent takefocustuseR+twidthcKstj|j|S(N(ttkintertTopleveltroot(Rtkwargs((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRBscCsN|j}tj|j}|j|d|dt|j|dddS(NR8teqR"(RR@tMenuRBt checkParamR(RRR8((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_menuEs cCs|j}|j|ddytjd}Wntk rQ|jdnX|j|d|dd|jd|}|j|d|dS(NR<R"tDISPLAYsNo $DISPLAY set.Rs3can't modify -screen option after widget is created(RRtostenvirontKeyErrortskipTestR(RRtdisplayR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_screenKs  cCsl|j}|j|dd|jdt}d|j}|jd|}|j|d|dS(NR>R"R%s%#x(RRR)twinfo_id(RRtparenttwidR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_useWs  (R1R2RR!R%R3R4R5R6R7R8R9R:R;R<R=R>R+R?(RR.tOPTIONSRRGRNRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyR08s   t FrameTestcBseZdZdZRS(R1R2RR!R%R3R4R5R6R7R9R:R;R=R+R?cKstj|j|S(N(R@tFrameRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRjs(R1R2RR!R%R3R4R5R6R7R9R:R;R=R+R?(RR.RSR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRTas tLabelFrameTestcBs)eZdZdZdZdZRS(R1R2RR!R%R3tfontt foregroundR4R5R6R7t labelanchort labelwidgetR9R:R;R=ttextR+R?cKstj|j|S(N(R@t LabelFrameRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRyscCsW|j}|j|ddddddddd d d d d |j|dddS(NRYtetentestntnetnwtstsetswtwtwntwstcenter(RtcheckEnumParamR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_labelanchor|s   cCsQ|j}tj|jdddd}|j|d|dd|jdS(NR[tMupptnametfooRZtexpecteds.foo(RR@tLabelRBRFtdestroy(RRtlabel((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_labelwidgets (R1R2RR!R%R3RWRXR4R5R6R7RYRZR9R:R;R=R[R+R?(RR.RSRRkRs(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRVns  tAbstractLabelTestcBseZeZdZRS(c Cs2|j}|j|ddddddddS(NR7ig?g@iit10p(RtcheckPixelsParam(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_highlightthicknesss  (RR.R t _conv_pixelsRw(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRtst LabelTestcBseZdZdZRS(tactivebackgroundtactiveforegroundtanchorR1tbitmapR2tcompoundR3tdisabledforegroundRWRXR4R5R6R7timagetjustifyR9R:R;tstateR=R[t textvariablet underlineR?t wraplengthcKstj|j|S(N(R@RpRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs(RzR{R|R1R}R2R~R3RRWRXR4R5R6R7RRR9R:R;RR=R[RRR?R(RR.RSR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRyst ButtonTestc Bs eZd"Zd Zd!ZRS(#RzR{R|R1R}R2tcommandR~R3R,RRWRXR4R5R6R7RRt overreliefR9R:R;t repeatdelaytrepeatintervalRR=R[RRR?RcKstj|j|S(N(R@tButtonRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs)|j}|j|dddddS(NR,tactivetdisabledtnormal(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_defaults ( RzR{R|R1R}R2RR~R3R,RRWRXR4R5R6R7RRRR9R:R;RRRR=R[RRR?R(RR.RSRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs tCheckbuttonTestc&Bs)eZd)Zd&Zd'Zd(ZRS(*RzR{R|R1R}R2RR~R3RRWRXR4R5R6R7Rt indicatoronRt offrelieftoffvaluetonvalueRR9R:R;t selectcolort selectimageRR=R[Rt tristateimaget tristatevalueRtvariableR?RcKstj|j|S(N(R@t CheckbuttonRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs,|j}|j|ddddddS(NRigffffff@R"s any string(Rt checkParams(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_offvalues cCs,|j}|j|ddddddS(NRigffffff@R"s any string(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_onvalues (&RzR{R|R1R}R2RR~R3RRWRXR4R5R6R7RRRRRRRR9R:R;RRRR=R[RRRRRR?R(RR.RSRRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs  tRadiobuttonTestc%Bs eZd'Zd%Zd&ZRS((RzR{R|R1R}R2RR~R3RRWRXR4R5R6R7RRRRRR9R:R;RRRR=R[RRRRtvalueRR?RcKstj|j|S(N(R@t RadiobuttonRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs,|j}|j|ddddddS(NRigffffff@R"s any string(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_values (%RzR{R|R1R}R2RR~R3RRWRXR4R5R6R7RRRRRR9R:R;RRRR=R[RRRRRRR?R(RR.RSRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs tMenubuttonTestcBseZd(ZeeZdZdZd Ze j j Z e j ejd!kd"d#Zd$Zd%Zd&Zd'ZRS()RzR{R|R1R}R2R~R3t directionRRWRXR4R5R6R7RRRR8R9R:R;RR=R[RRR?RcKstj|j|S(N(R@t MenubuttonRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs/|j}|j|dddddddS(NRtabovetbelowtflushtlefttright(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_directions  cCs/|j}|j|dddddtdS(NR4idiitconv(RtcheckIntegerParamtstr(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_heights tdarwins"crashes with Cocoa Tk (issue19733)c Cs|j}tjd|jdd}|j|d|dtd}|jtj}d|dZd?ZRS(BtautoseparatorsR1t blockcursorR2R3tendlineRRWRXR4R5R6R7tinactiveselectbackgroundRRRRtinsertunfocussedRtmaxundoR9R:R;RRRtsetgridtspacing1tspacing2tspacing3t startlineRttabsttabstyleR=tundoR?RRtyscrollcommandiicKstj|j|S(N(R@tTextRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs |j}|j|ddS(NR(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_autoseparatorss cCs |j}|j|ddS(NR(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_blockcursors cCs|j}djdtdD}|jd||j|dddd|j|dd dd|j|dd d d |j|dd |j|dd|j|ddd ddS(Ns css|] }dVqdS(sLine %dN((t.0ti((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pys sidtendRiRoR"iRRsexpected integer but got "spam"i2R#ii s1-startline must be less than or equal to -endline(RtjointrangetinsertRFR(RRR[((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_endlines cCs^|j}|j|ddddd|j|dddd|j|dd dddS( NR4idgLY@gfffffY@t3ciRoii(RRvRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs cCs)|j}|j|dddddS(NRiii(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_maxundos cCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_inactiveselectbackgrounds icCs)|j}|j|dddddS(NRthollowRtsolid(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_insertunfocusseds  c Cs>|j}|j|ddddddtdtd kdS( NRg?g@iRuRt keep_origii(ii(RRvRR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_selectborderwidth$s  cCsE|j}|j|ddddd|j|dddddS( NR igffffff5@g6@s0.5ciRoi(RRvRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_spacing1*s cCsE|j}|j|ddddd|j|dddddS( NR!ig@gffffff@s0.1ciRoi(RRvRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_spacing2/s cCsE|j}|j|ddddd|j|dddddS( NR"igffffff5@g6@s0.5ciRoi(RRvRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_spacing34s cCs|j}djdtdD}|jd||j|dddd|j|dd dd|j|dd d d |j|dd |j|dd|j|ddd ddS(Ns css|] }dVqdS(sLine %dN((R+R,((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pys <sidR-R#iRoR"iRRsexpected integer but got "spam"i Ri2iFs1-startline must be less than or equal to -endline(RR.R/R0RFR(RRR[((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_startline9s cCsK|j}tdkr1|j|dddn|j|ddddS(NiiRRR(ii(RRRRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRGs  c Cs|j}tdkr7|j|ddd dn|j|dd|j|dd d d|j|dd d d|j|dddddtdkdS(Niii R$gffffff$@g333334@t1it2iRos10.2s20.7s10.2 20.7 1i 2is2c left 4c 6c centert2cRt4ct6cRiRRsbad screen distance "spam"R8(iii (gffffff$@g333334@R>R?(s10.2s20.7R>R?(gffffff$@g333334@R>R?(s10.2s20.7R>R?(R@RRARBRi(ii(RRRFRR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_tabsNs  cCs&|j}|j|ddddS(NR%ttabulart wordprocessor(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_tabstyle]s cCs |j}|j|ddS(NR&(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_undobs cCsU|j}|j|dd|j|dddd|j|dddddS(NR?iinRoii(RRRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRfs cCsQ|j}tdkr4|j|ddddn|j|dddddS(NiiRtcharRtword(ii(RRRRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRls  cCs|j}|j|jd|j|jd|jtj|jd|jtj|jd|jtj|j|jtj|jdddS(Ns1.1R-R(RRRt assertIsNoneRR@RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRss ()RR1RR2R3RRRWRXR4R5R6R7RRRRRRRRR9R:R;RRRRR R!R"R#RR$R%R=R&R?RRR'(ii(RR.RSRR)t _stringifyRR)RR*R1RR3R4R7R9R:R;R<R=RRCRFRGRRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRsB               t CanvasTestcBsheZd#ZeeZeZdZdZ dZ dZ dZ d Z d!Zd"ZRS($R1R2t closeenoughtconfineR3R4R5R6R7RRRRRtoffsetR;t scrollregionRRRRR=RtxscrollincrementR'tyscrollincrementR?cKstj|j|S(N(R@tCanvasRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRsc Cs2|j}|j|ddddddtdS(NRMig333333@g @iR(RRtfloat(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_closeenoughs cCs |j}|j|ddS(NRN(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_confines c Cs|j}|j|dd|j|dddddddd d d |j|dd |j|dd |j|dddS(NROs0,0R`RaR]RdRcReRfRbRis10,20s#5,6R(RRRRFR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_offsets  cCs|j}|j|dd|j|dd dd|j|dd|j|ddd d |j|dd |j|dd |j|dddS(NRPs 0 0 200 150iiiRoR"RRsbad scrollRegion "spam"(iiii(iiiR(iii(iiiii(RRFR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_scrollregions cCs,|j}|j|ddddddS(NRRRRs0bad state value "{}": must be normal or disabled(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs c Cs2|j}|j|ddddddddS(NRQi(igD@gE@is0.5i(RRv(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_xscrollincrements  c Cs2|j}|j|ddddddddS(NRRi igffffff&@g333333+@is0.1i(RRv(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_yscrollincrements  (R1R2RMRNR3R4R5R6R7RRRRRROR;RPRRRRR=RRQR'RRR?(RR.RSRR RxR)RKRRURVRWRXRRYRZ(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRL}s(      t ListboxTestcBseZd,ZdZdZedddejjZdZ dZ d Z d!Z d"Z d#Zd$Zd%Zd&Zd'Zd(Zd)Zd*Zd+ZRS(-t activestyleR1R2R3RRRWRXR4R5R6R7Rt listvariableR;RRRt selectmodeRRR=R?RR'cKstj|j|S(N(R@tListboxRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs)|j}|j|dddddS(NR\tdotboxRR(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_activestyles  iiicCs5|j}tj|j}|j|d|dS(NR](RR@t DoubleVarRBtcheckVariableParam(RRtvar((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_listvariables cCs\|j}|j|dd|j|dd|j|dd|j|dddS(NR^tsingletbrowsetmultipletextended(RRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_selectmodes  cCs&|j}|j|ddddS(NRRR(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs c Cs|j}|jtd|jdWdQXdj}|jd|x-t|D]\}}|j|d|q[W|jt|jWdQX|jtd|jdWdQX|j |jddd|j |jddd|j |jd dd|jd}|j |t x|j D]s\}}|j t|dt|d krD|j ||jd||j |d|jd|qDqDWdS(Nsitem number "0" out of rangeis)red orange yellow green blue white violetR-R1sbad listbox index "red"tredt BackgroundR"tviolets@0,0iii(R1R1RlR"Rk(R1R1RlR"Rm(R1R1RlR"Rk(ii(RtassertRaisesRegexpRt itemconfiguretsplitR0t enumerateRRRtassertIsInstancetdicttitemstassertIntlentitemcget(RRtcolorsR,tcolortdtktv((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_itemconfigures0  c Cs|j}|jddddd|jdi||6|j|jd|d||j|jd|||jtd|jdid |6WdQXdS( NR-RRRRziisunknown color name "spam"R(RR0RoRRwRnR(RRmRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pytcheck_itemconfigures  cCs|jdddS(NR1s#ff0000(R~(R((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_itemconfigure_background scCs|jdddS(Ntbgs#ff0000(R~(R((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_itemconfigure_bgscCs|jdddS(Ntfgs#110022(R~(R((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_itemconfigure_fgscCs|jdddS(NRXs#110022(R~(R((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_itemconfigure_foregroundscCs|jdddS(NRs#110022(R~(R((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt#test_itemconfigure_selectbackgroundscCs|jdddS(NRs#654321(R~(R((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt#test_itemconfigure_selectforegroundscCs|j}|jddtdD|j|j|jd|j|jd|j|jd|jt|jd|jt|jd|jt |j|jt |jdddS(Nicss|]}d|VqdS(sel%dN((R+R,((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pys siii Ri( RR0R/tpackRRRJRRRR(Rtlb((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_boxs   cCs|j}|jddtdD|jdtj|jdd|jd|j|jd|j t |jddS( Nicss|]}d|VqdS(sel%dN((R+R,((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pys +siiiii(iiii( RR0R/tselection_clearR@tENDt selection_setRt curselectionRR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_curselection)s   cCs|j}|jddtdD|j|jdd|j|jdd|j|jdd|j|jdd |j|jd d |j|jdd d|j|jd dd|j|jd dd|j|jddd|jt|jd|jt|jd|jt|j|jt|jdd|jt|jddd|jt|jddS(Nicss|]}d|VqdS(sel%dN((R+R,((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pys 4sitel0itel3R-tel7R"iitel4tel5tel6Riig333333@(RRR(RRR((R( RR0R/RtgetRRRR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_get2s"  (R\R1R2R3RRRWRXR4R5R6R7RR]R;RRRR^RRR=R?RR'(RR.RSRRaRR t test_justifyRReRjRR}R~RRRRRRRRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyR[s2             t ScaleTestcBseZd+ZdZdZd Zd!Zd"Zd#Zd$Z d%Z d&Z d'Z d(Z d)Zd*ZRS(,RzR1t bigincrementR2RR3tdigitsRWRXRR5R6R7RrtlengthtorientR;RRt resolutiont showvaluet sliderlengtht sliderreliefRR=t tickintervalRt troughcolorRR?tverticalcKstj|j|S(N(R@tScaleRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRSscCs)|j}|j|dddddS(NRg(@g7@i(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_bigincrementVs cCs&|j}|j|ddddS(NRii(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_digitsZs cCs/|j}|j|dddddtdS(NRidg-@g333333.@R(RRtround(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyR^s cCs6|j}|j|dd|j|dddS(NRrs any stringR"(RRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_labelbs cCs,|j}|j|ddddddS(NRigffffff`@g33333`@t5i(RRv(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_lengthgs cCs,|j}|j|ddddddS(NRg@ig@i(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_resolutionks cCs |j}|j|ddS(NR(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_showvalueos cCs/|j}|j|dddddddS(NRi gffffff&@g333333/@it3m(RRv(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_sliderlengthss  cCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_sliderreliefxs c CsQ|j}|j|ddddddt|j|dddd dtdS( NRig333333@gffffff@iRiRoi(RRRRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_tickinterval|s  c Cs2|j}|j|ddddddtdS(NRi,g-@g333333.@iR(RRR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs (RzR1RR2RR3RRWRXRR5R6R7RrRRR;RRRRRRRR=RRRRR?(RR.RStdefault_orientRRRRRRRRRRRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRFs(           t ScrollbarTestcBs\eZdZeeZeZdZdZ dZ dZ dZ dZ dZRS(Rzt activereliefR1R2RR3telementborderwidthR5R6R7tjumpRR;RRR=RR?RcKstj|j|S(N(R@t ScrollbarRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_activereliefs cCs,|j}|j|ddddddS(NRg333333@gffffff@it1m(RRv(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_elementborderwidths cCs,|j}|j|ddddddS(NRRt horizontalRs4bad orientation "{}": must be vertical or horizontal(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_orients cCsg|j}xdD]}|j|qW|jd|jt|j|jt|jdddS(Ntarrow1tslidertarrow2R"(RRR(RtactivateRR(RtsbR]((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_activates    cCs|j}|jdd|j|jd|jt|jdd|jt|jdd|jt|jdd|jt|jd|jt|jddddS( Ng?g?tabctdefg333333?gffffff?g?(g?g?(RtsetRRRRR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_sets (RzRR1R2RR3RR5R6R7RRR;RRR=RR?(RR.RSRR RxR)RKRRRRRRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs       tPanedWindowTestcBsgeZd2ZdZdZdZdZdZdZe ddddZ e ddddZ e ddddZ dZ dZd Zd!Zd"Zd#Zd$Zd%Zed&Zd'Zd(Zd)Zd*Ze ddd+Zd,Zd-Zd.Zd/Ze ddd0Z d1Z!RS(3R1R2R3t handlepadt handlesizeR4t opaqueresizeRtproxybackgroundtproxyborderwidtht proxyreliefR;t sashcursortsashpadt sashrelieft sashwidtht showhandleR?RcKstj|j|S(N(R@t PanedWindowRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs/|j}|j|dddddddS(NRig@gffffff@iR(RRv(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_handlepads c Cs5|j}|j|dddddddtdS(NRig"@g333333%@it2mR(RRvR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_handlesizes c Cs8|j}|j|ddddddddtdS( NR4idgLY@gfffffY@iiR>R(RRvR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs !cCs |j}|j|ddS(NR(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_opaqueresizes iiicCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_proxybackgrounds c Cs8|j}|j|ddddddddtdS( NRig?g333333@iiRuR(RRvR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_proxyborderwidths  cCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_proxyreliefs cCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_sashcursors cCs/|j}|j|dddddddS(NRig?g@iR(RRv(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_sashpads cCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_sashreliefs c Cs5|j}|j|dddddddtdS(NRi g333333&@g333333/@iRR(RRvR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_sashwidths cCs |j}|j|ddS(NR(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_showhandles c Cs8|j}|j|ddddddddtdS( NR?igfffff6y@gIy@iniRR(RRvR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs !cCsQ|j}tj|}tj|}|j||j||||fS(N(RR@Rtadd(RtpRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pytcreate2s    cCs|j\}}}|jt|j|j|}|j|txl|jD]^\}}|jt|d|j||j|||j|d|j ||qTWdS(Nii( RRRt paneconfigureRrRsRtRRvtpanecget(RRRRRzR{R|((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigurescCsd}|j s|r(t|}n|jr@|r@t}n|j|i||6|j||j||d||j||j|||dS(NcSs|S(N((tx((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pytR"i(R(RRRR(RRRRmRRot stringifyR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pytcheck_paneconfigures  &c Cs4|jt||j|id|6WdQXdS(NtbadValue(RnRR(RRRRmtmsg((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pytcheck_paneconfigure_bad$scCsN|j\}}}|j||d|t||j||dddS(Ntaftersbad window path name "badValue"(RRRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_after(scCsN|j\}}}|j||d|t||j||dddS(Ntbeforesbad window path name "badValue"(RRRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_before.sc CsW|j\}}}|j||ddddtdk|j||dddS( NR4i Riii sbad screen distance "badValue"(iii (RRRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_height4s cCsH|j\}}}|j||dtd|j||dddS(Nthideis)expected boolean value but got "badValue"(RRtFalseR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_hide;scCsH|j\}}}|j||ddd|j||dddS(Ntminsizei sbad screen distance "badValue"(RRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_minsizeBscCsH|j\}}}|j||ddd|j||dddS(NR9g?isbad screen distance "badValue"(RRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_padxHscCsH|j\}}}|j||ddd|j||dddS(NR:g?isbad screen distance "badValue"(RRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_padyNscCsH|j\}}}|j||ddd|j||dddS(Ntstickytnsewtnesws[bad stickyness value "badValue": must be a string containing zero or more of n, e, s, and w(RRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_stickyTscCsH|j\}}}|j||ddd|j||dddS(NtstretchtalwtalwayssEbad stretch "badValue": must be always, first, last, middle, or never(RRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_stretch\sc CsW|j\}}}|j||ddddtdk|j||dddS( NR?i Riii sbad screen distance "badValue"(iii (RRRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_widthds (R1R2R3RRR4RRRRRR;RRRRRR?("RR.RSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRsH                    tMenuTestcBseeZdZeZdZdZdZdZdZ dZ dZ dZ dZ RS(RztactiveborderwidthR{R1R2R3RRWRXt postcommandR;RR=ttearoffttearoffcommandRttypecKstj|j|S(N(R@RERB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRwscCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_postcommandzs cCs |j}|j|ddS(NR(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_tearoff~s cCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_tearoffcommands cCs#|j}|j|dddS(NRs any string(RRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_titles cCs)|j}|j|dddddS(NRRRtmenubar(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_types  cCs |j}|jdd|jt|j|jtd|jdWdQX|jd}|j|tx|j D]v\}}|j|t |j|t |j t |d|j |d||j |jd||dqW|jdS( NRrttestsbad menu entry index "foo"Rniiii(Rt add_commandRRtentryconfigureRnRRrRsRtRttupleRRvt entrycgetRq(Rtm1RzR{R|((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_entryconfigures $cCsk|j}|jdd|j|jddd|jddd|j|jddddS(NRrR itchanged(RRRRR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_entryconfigure_labels  c Cs|j}tj|j}tj|j}|jd|dtdtdd|jt|j ddt||j dd||jt|j ddt|dS(NRRRRrtNonsensei( RR@t BooleanVarRBtadd_checkbuttonR)RRRRR(RRtv1tv2((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_entryconfigure_variables ((RzRR{R1R2R3RRWRXRR;RR=RRRR(RR.RSR RxRRRR R R RRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRls        t MessageTestcBs&eZdZeZdZdZRS(R|taspectR1R2R3RWRXR5R6R7RR9R:R;R=R[RR?cKstj|j|S(N(R@tMessageRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs)|j}|j|dddddS(NRiii(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_aspects (R|RR1R2R3RWRXR5R6R7RR9R:R;R=R[RR?(RR.RSR R/RR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs t__main__(1RtTkinterR@RRIRttest.test_supportRRttest_ttk.supportRRRRt widget_testsRRR R R R R RRRRtTestCaseR0RTRVRtRyRRRRRRRRRLR[RRRRRt tests_guiR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pytsl    "F % (       AE h BB1  D     test_widgets.pyo000064400000172022147205215210010005 0ustar00 zfc@sTddlZddlZddlmZddlZddlZddlmZmZddl m Z m Z m Z m Z ddlmZmZmZmZmZmZmZmZmZmZeddeefdYZeed eejfd YZeed eejfd YZeed eejfdYZdeefdYZeedeejfdYZeedeejfdYZ eedeejfdYZ!eedeejfdYZ"eedeejfdYZ#de#ejfdYZ$eeedeejfdYZ%eede%ejfd YZ&eed!eejfd"YZ'eeed#eejfd$YZ(eeed%eejfd&YZ)eeed'eejfd(YZ*eeed)eejfd*YZ+eed+eejfd,YZ,eed-eejfd.YZ-eeed/eejfd0YZ.e e(e!e%eeee)e#e-e.e$e,e"e*e+e&e'egZ/e0d1krPee/ndS(2iN(tTclError(trequirest run_unittest(t tcl_versiont requires_tcltget_tk_patchlevelt widget_eq( tadd_standard_optionstnoconvt noconv_metht int_roundt pixels_roundtAbstractWidgetTesttStandardOptionsTeststIntegerSizeTeststPixelSizeTestst setUpModuletguitAbstractToplevelTestcBs2eZeZdZdZdZdZRS(cCso|j}|j|d|jjj|j|dddd|jdd}|j|dddS(NtclasstFooterrmsgs2can't modify -class option after widget is createdtclass_(tcreatet assertEqualt __class__t__name__ttitletcheckInvalidParam(tselftwidgettwidget2((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_classs  cCsc|j}|j|dd|j|dddd|jdd}|j|dddS(NtcolormapttnewRs5can't modify -colormap option after widget is created(RRR(RRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_colormaps  cCs|j}|j|d|jr(dnd|j|dddd|jdt}|j|d|jrvdnddS(Nt containerit0iRs6can't modify -container option after widget is createdt1(RRt wantobjectsRtTrue(RRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_container's  #cCsc|j}|j|dd|j|dddd|jdd}|j|dddS(NtvisualR"tdefaultRs3can't modify -visual option after widget is created(RRR(RRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_visual/s  (Rt __module__R t_conv_pad_pixelsR R$R*R-(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs   t ToplevelTestcBs2eZdZdZdZdZdZRS(t backgroundt borderwidthRR!R%tcursortheightthighlightbackgroundthighlightcolorthighlightthicknesstmenutpadxtpadytrelieftscreent takefocustuseR+twidthcKstj|j|S(N(ttkintertTopleveltroot(Rtkwargs((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRBscCsN|j}tj|j}|j|d|dt|j|dddS(NR8teqR"(RR@tMenuRBt checkParamR(RRR8((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_menuEs cCs|j}|j|ddytjd}Wntk rQ|jdnX|j|d|dd|jd|}|j|d|dS(NR<R"tDISPLAYsNo $DISPLAY set.Rs3can't modify -screen option after widget is created(RRtostenvirontKeyErrortskipTestR(RRtdisplayR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_screenKs  cCsl|j}|j|dd|jdt}d|j}|jd|}|j|d|dS(NR>R"R%s%#x(RRR)twinfo_id(RRtparenttwidR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_useWs  (R1R2RR!R%R3R4R5R6R7R8R9R:R;R<R=R>R+R?(RR.tOPTIONSRRGRNRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyR08s   t FrameTestcBseZdZdZRS(R1R2RR!R%R3R4R5R6R7R9R:R;R=R+R?cKstj|j|S(N(R@tFrameRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRjs(R1R2RR!R%R3R4R5R6R7R9R:R;R=R+R?(RR.RSR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRTas tLabelFrameTestcBs)eZdZdZdZdZRS(R1R2RR!R%R3tfontt foregroundR4R5R6R7t labelanchort labelwidgetR9R:R;R=ttextR+R?cKstj|j|S(N(R@t LabelFrameRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRyscCsW|j}|j|ddddddddd d d d d |j|dddS(NRYtetentestntnetnwtstsetswtwtwntwstcenter(RtcheckEnumParamR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_labelanchor|s   cCsQ|j}tj|jdddd}|j|d|dd|jdS(NR[tMupptnametfooRZtexpecteds.foo(RR@tLabelRBRFtdestroy(RRtlabel((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_labelwidgets (R1R2RR!R%R3RWRXR4R5R6R7RYRZR9R:R;R=R[R+R?(RR.RSRRkRs(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRVns  tAbstractLabelTestcBseZeZdZRS(c Cs2|j}|j|ddddddddS(NR7ig?g@iit10p(RtcheckPixelsParam(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_highlightthicknesss  (RR.R t _conv_pixelsRw(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRtst LabelTestcBseZdZdZRS(tactivebackgroundtactiveforegroundtanchorR1tbitmapR2tcompoundR3tdisabledforegroundRWRXR4R5R6R7timagetjustifyR9R:R;tstateR=R[t textvariablet underlineR?t wraplengthcKstj|j|S(N(R@RpRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs(RzR{R|R1R}R2R~R3RRWRXR4R5R6R7RRR9R:R;RR=R[RRR?R(RR.RSR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRyst ButtonTestc Bs eZd"Zd Zd!ZRS(#RzR{R|R1R}R2tcommandR~R3R,RRWRXR4R5R6R7RRt overreliefR9R:R;t repeatdelaytrepeatintervalRR=R[RRR?RcKstj|j|S(N(R@tButtonRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs)|j}|j|dddddS(NR,tactivetdisabledtnormal(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_defaults ( RzR{R|R1R}R2RR~R3R,RRWRXR4R5R6R7RRRR9R:R;RRRR=R[RRR?R(RR.RSRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs tCheckbuttonTestc&Bs)eZd)Zd&Zd'Zd(ZRS(*RzR{R|R1R}R2RR~R3RRWRXR4R5R6R7Rt indicatoronRt offrelieftoffvaluetonvalueRR9R:R;t selectcolort selectimageRR=R[Rt tristateimaget tristatevalueRtvariableR?RcKstj|j|S(N(R@t CheckbuttonRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs,|j}|j|ddddddS(NRigffffff@R"s any string(Rt checkParams(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_offvalues cCs,|j}|j|ddddddS(NRigffffff@R"s any string(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_onvalues (&RzR{R|R1R}R2RR~R3RRWRXR4R5R6R7RRRRRRRR9R:R;RRRR=R[RRRRRR?R(RR.RSRRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs  tRadiobuttonTestc%Bs eZd'Zd%Zd&ZRS((RzR{R|R1R}R2RR~R3RRWRXR4R5R6R7RRRRRR9R:R;RRRR=R[RRRRtvalueRR?RcKstj|j|S(N(R@t RadiobuttonRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs,|j}|j|ddddddS(NRigffffff@R"s any string(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_values (%RzR{R|R1R}R2RR~R3RRWRXR4R5R6R7RRRRRR9R:R;RRRR=R[RRRRRRR?R(RR.RSRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs tMenubuttonTestcBseZd(ZeeZdZdZd Ze j j Z e j ejd!kd"d#Zd$Zd%Zd&Zd'ZRS()RzR{R|R1R}R2R~R3t directionRRWRXR4R5R6R7RRRR8R9R:R;RR=R[RRR?RcKstj|j|S(N(R@t MenubuttonRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs/|j}|j|dddddddS(NRtabovetbelowtflushtlefttright(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_directions  cCs/|j}|j|dddddtdS(NR4idiitconv(RtcheckIntegerParamtstr(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_heights tdarwins"crashes with Cocoa Tk (issue19733)c Cs|j}tjd|jdd}|j|d|dtd}|jtj}d|dZd?ZRS(BtautoseparatorsR1t blockcursorR2R3tendlineRRWRXR4R5R6R7tinactiveselectbackgroundRRRRtinsertunfocussedRtmaxundoR9R:R;RRRtsetgridtspacing1tspacing2tspacing3t startlineRttabsttabstyleR=tundoR?RRtyscrollcommandiicKstj|j|S(N(R@tTextRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs |j}|j|ddS(NR(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_autoseparatorss cCs |j}|j|ddS(NR(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_blockcursors cCs|j}djdtdD}|jd||j|dddd|j|dd dd|j|dd d d |j|dd |j|dd|j|ddd ddS(Ns css|] }dVqdS(sLine %dN((t.0ti((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pys sidtendRiRoR"iRRsexpected integer but got "spam"i2R#ii s1-startline must be less than or equal to -endline(RtjointrangetinsertRFR(RRR[((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_endlines cCs^|j}|j|ddddd|j|dddd|j|dd dddS( NR4idgLY@gfffffY@t3ciRoii(RRvRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs cCs)|j}|j|dddddS(NRiii(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_maxundos cCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_inactiveselectbackgrounds icCs)|j}|j|dddddS(NRthollowRtsolid(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_insertunfocusseds  c Cs>|j}|j|ddddddtdtd kdS( NRg?g@iRuRt keep_origii(ii(RRvRR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_selectborderwidth$s  cCsE|j}|j|ddddd|j|dddddS( NR igffffff5@g6@s0.5ciRoi(RRvRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_spacing1*s cCsE|j}|j|ddddd|j|dddddS( NR!ig@gffffff@s0.1ciRoi(RRvRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_spacing2/s cCsE|j}|j|ddddd|j|dddddS( NR"igffffff5@g6@s0.5ciRoi(RRvRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_spacing34s cCs|j}djdtdD}|jd||j|dddd|j|dd dd|j|dd d d |j|dd |j|dd|j|ddd ddS(Ns css|] }dVqdS(sLine %dN((R+R,((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pys <sidR-R#iRoR"iRRsexpected integer but got "spam"i Ri2iFs1-startline must be less than or equal to -endline(RR.R/R0RFR(RRR[((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_startline9s cCsK|j}tdkr1|j|dddn|j|ddddS(NiiRRR(ii(RRRRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRGs  c Cs|j}tdkr7|j|ddd dn|j|dd|j|dd d d|j|dd d d|j|dddddtdkdS(Niii R$gffffff$@g333334@t1it2iRos10.2s20.7s10.2 20.7 1i 2is2c left 4c 6c centert2cRt4ct6cRiRRsbad screen distance "spam"R8(iii (gffffff$@g333334@R>R?(s10.2s20.7R>R?(gffffff$@g333334@R>R?(s10.2s20.7R>R?(R@RRARBRi(ii(RRRFRR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_tabsNs  cCs&|j}|j|ddddS(NR%ttabulart wordprocessor(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_tabstyle]s cCs |j}|j|ddS(NR&(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_undobs cCsU|j}|j|dd|j|dddd|j|dddddS(NR?iinRoii(RRRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRfs cCsQ|j}tdkr4|j|ddddn|j|dddddS(NiiRtcharRtword(ii(RRRRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRls  cCs|j}|j|jd|j|jd|jtj|jd|jtj|jd|jtj|j|jtj|jdddS(Ns1.1R-R(RRRt assertIsNoneRR@RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRss ()RR1RR2R3RRRWRXR4R5R6R7RRRRRRRRR9R:R;RRRRR R!R"R#RR$R%R=R&R?RRR'(ii(RR.RSRR)t _stringifyRR)RR*R1RR3R4R7R9R:R;R<R=RRCRFRGRRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRsB               t CanvasTestcBsheZd#ZeeZeZdZdZ dZ dZ dZ d Z d!Zd"ZRS($R1R2t closeenoughtconfineR3R4R5R6R7RRRRRtoffsetR;t scrollregionRRRRR=RtxscrollincrementR'tyscrollincrementR?cKstj|j|S(N(R@tCanvasRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRsc Cs2|j}|j|ddddddtdS(NRMig333333@g @iR(RRtfloat(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_closeenoughs cCs |j}|j|ddS(NRN(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_confines c Cs|j}|j|dd|j|dddddddd d d |j|dd |j|dd |j|dddS(NROs0,0R`RaR]RdRcReRfRbRis10,20s#5,6R(RRRRFR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_offsets  cCs|j}|j|dd|j|dd dd|j|dd|j|ddd d |j|dd |j|dd |j|dddS(NRPs 0 0 200 150iiiRoR"RRsbad scrollRegion "spam"(iiii(iiiR(iii(iiiii(RRFR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_scrollregions cCs,|j}|j|ddddddS(NRRRRs0bad state value "{}": must be normal or disabled(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs c Cs2|j}|j|ddddddddS(NRQi(igD@gE@is0.5i(RRv(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_xscrollincrements  c Cs2|j}|j|ddddddddS(NRRi igffffff&@g333333+@is0.1i(RRv(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_yscrollincrements  (R1R2RMRNR3R4R5R6R7RRRRRROR;RPRRRRR=RRQR'RRR?(RR.RSRR RxR)RKRRURVRWRXRRYRZ(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRL}s(      t ListboxTestcBseZd,ZdZdZedddejjZdZ dZ d Z d!Z d"Z d#Zd$Zd%Zd&Zd'Zd(Zd)Zd*Zd+ZRS(-t activestyleR1R2R3RRRWRXR4R5R6R7Rt listvariableR;RRRt selectmodeRRR=R?RR'cKstj|j|S(N(R@tListboxRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs)|j}|j|dddddS(NR\tdotboxRR(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_activestyles  iiicCs5|j}tj|j}|j|d|dS(NR](RR@t DoubleVarRBtcheckVariableParam(RRtvar((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_listvariables cCs\|j}|j|dd|j|dd|j|dd|j|dddS(NR^tsingletbrowsetmultipletextended(RRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_selectmodes  cCs&|j}|j|ddddS(NRRR(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs c Cs|j}|jtd|jdWdQXdj}|jd|x-t|D]\}}|j|d|q[W|jt|jWdQX|jtd|jdWdQX|j |jddd|j |jddd|j |jd dd|jd}|j |t x|j D]s\}}|j t|dt|d krD|j ||jd||j |d|jd|qDqDWdS(Nsitem number "0" out of rangeis)red orange yellow green blue white violetR-R1sbad listbox index "red"tredt BackgroundR"tviolets@0,0iii(R1R1RlR"Rk(R1R1RlR"Rm(R1R1RlR"Rk(ii(RtassertRaisesRegexpRt itemconfiguretsplitR0t enumerateRRRtassertIsInstancetdicttitemstassertIntlentitemcget(RRtcolorsR,tcolortdtktv((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_itemconfigures0  c Cs|j}|jddddd|jdi||6|j|jd|d||j|jd|||jtd|jdid |6WdQXdS( NR-RRRRziisunknown color name "spam"R(RR0RoRRwRnR(RRmRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pytcheck_itemconfigures  cCs|jdddS(NR1s#ff0000(R~(R((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_itemconfigure_background scCs|jdddS(Ntbgs#ff0000(R~(R((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_itemconfigure_bgscCs|jdddS(Ntfgs#110022(R~(R((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_itemconfigure_fgscCs|jdddS(NRXs#110022(R~(R((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_itemconfigure_foregroundscCs|jdddS(NRs#110022(R~(R((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt#test_itemconfigure_selectbackgroundscCs|jdddS(NRs#654321(R~(R((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt#test_itemconfigure_selectforegroundscCs|j}|jddtdD|j|j|jd|j|jd|j|jd|jt|jd|jt|jd|jt |j|jt |jdddS(Nicss|]}d|VqdS(sel%dN((R+R,((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pys siii Ri( RR0R/tpackRRRJRRRR(Rtlb((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_boxs   cCs|j}|jddtdD|jdtj|jdd|jd|j|jd|j t |jddS( Nicss|]}d|VqdS(sel%dN((R+R,((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pys +siiiii(iiii( RR0R/tselection_clearR@tENDt selection_setRt curselectionRR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_curselection)s   cCs|j}|jddtdD|j|jdd|j|jdd|j|jdd|j|jdd |j|jd d |j|jdd d|j|jd dd|j|jd dd|j|jddd|jt|jd|jt|jd|jt|j|jt|jdd|jt|jddd|jt|jddS(Nicss|]}d|VqdS(sel%dN((R+R,((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pys 4sitel0itel3R-tel7R"iitel4tel5tel6Riig333333@(RRR(RRR((R( RR0R/RtgetRRRR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_get2s"  (R\R1R2R3RRRWRXR4R5R6R7RR]R;RRRR^RRR=R?RR'(RR.RSRRaRR t test_justifyRReRjRR}R~RRRRRRRRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyR[s2             t ScaleTestcBseZd+ZdZdZd Zd!Zd"Zd#Zd$Z d%Z d&Z d'Z d(Z d)Zd*ZRS(,RzR1t bigincrementR2RR3tdigitsRWRXRR5R6R7RrtlengthtorientR;RRt resolutiont showvaluet sliderlengtht sliderreliefRR=t tickintervalRt troughcolorRR?tverticalcKstj|j|S(N(R@tScaleRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRSscCs)|j}|j|dddddS(NRg(@g7@i(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_bigincrementVs cCs&|j}|j|ddddS(NRii(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_digitsZs cCs/|j}|j|dddddtdS(NRidg-@g333333.@R(RRtround(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyR^s cCs6|j}|j|dd|j|dddS(NRrs any stringR"(RRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_labelbs cCs,|j}|j|ddddddS(NRigffffff`@g33333`@t5i(RRv(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_lengthgs cCs,|j}|j|ddddddS(NRg@ig@i(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_resolutionks cCs |j}|j|ddS(NR(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_showvalueos cCs/|j}|j|dddddddS(NRi gffffff&@g333333/@it3m(RRv(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_sliderlengthss  cCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_sliderreliefxs c CsQ|j}|j|ddddddt|j|dddd dtdS( NRig333333@gffffff@iRiRoi(RRRRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_tickinterval|s  c Cs2|j}|j|ddddddtdS(NRi,g-@g333333.@iR(RRR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs (RzR1RR2RR3RRWRXRR5R6R7RrRRR;RRRRRRRR=RRRRR?(RR.RStdefault_orientRRRRRRRRRRRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRFs(           t ScrollbarTestcBs\eZdZeeZeZdZdZ dZ dZ dZ dZ dZRS(Rzt activereliefR1R2RR3telementborderwidthR5R6R7tjumpRR;RRR=RR?RcKstj|j|S(N(R@t ScrollbarRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_activereliefs cCs,|j}|j|ddddddS(NRg333333@gffffff@it1m(RRv(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_elementborderwidths cCs,|j}|j|ddddddS(NRRt horizontalRs4bad orientation "{}": must be vertical or horizontal(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_orients cCsg|j}xdD]}|j|qW|jd|jt|j|jt|jdddS(Ntarrow1tslidertarrow2R"(RRR(RtactivateRR(RtsbR]((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_activates    cCs|j}|jdd|j|jd|jt|jdd|jt|jdd|jt|jdd|jt|jd|jt|jddddS( Ng?g?tabctdefg333333?gffffff?g?(g?g?(RtsetRRRRR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_sets (RzRR1R2RR3RR5R6R7RRR;RRR=RR?(RR.RSRR RxR)RKRRRRRRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs       tPanedWindowTestcBsgeZd2ZdZdZdZdZdZdZe ddddZ e ddddZ e ddddZ dZ dZd Zd!Zd"Zd#Zd$Zd%Zed&Zd'Zd(Zd)Zd*Ze ddd+Zd,Zd-Zd.Zd/Ze ddd0Z d1Z!RS(3R1R2R3t handlepadt handlesizeR4t opaqueresizeRtproxybackgroundtproxyborderwidtht proxyreliefR;t sashcursortsashpadt sashrelieft sashwidtht showhandleR?RcKstj|j|S(N(R@t PanedWindowRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs/|j}|j|dddddddS(NRig@gffffff@iR(RRv(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_handlepads c Cs5|j}|j|dddddddtdS(NRig"@g333333%@it2mR(RRvR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_handlesizes c Cs8|j}|j|ddddddddtdS( NR4idgLY@gfffffY@iiR>R(RRvR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs !cCs |j}|j|ddS(NR(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_opaqueresizes iiicCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_proxybackgrounds c Cs8|j}|j|ddddddddtdS( NRig?g333333@iiRuR(RRvR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_proxyborderwidths  cCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_proxyreliefs cCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_sashcursors cCs/|j}|j|dddddddS(NRig?g@iR(RRv(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_sashpads cCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_sashreliefs c Cs5|j}|j|dddddddtdS(NRi g333333&@g333333/@iRR(RRvR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_sashwidths cCs |j}|j|ddS(NR(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_showhandles c Cs8|j}|j|ddddddddtdS( NR?igfffff6y@gIy@iniRR(RRvR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs !cCsQ|j}tj|}tj|}|j||j||||fS(N(RR@Rtadd(RtpRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pytcreate2s    cCs|j\}}}|jt|j|j|}|j|txl|jD]^\}}|jt|d|j||j|||j|d|j ||qTWdS(Nii( RRRt paneconfigureRrRsRtRRvtpanecget(RRRRRzR{R|((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigurescCsd}|j s|r(t|}n|jr@|r@t}n|j|i||6|j||j||d||j||j|||dS(NcSs|S(N((tx((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pytR"i(R(RRRR(RRRRmRRot stringifyR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pytcheck_paneconfigures  &c Cs4|jt||j|id|6WdQXdS(NtbadValue(RnRR(RRRRmtmsg((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pytcheck_paneconfigure_bad$scCsN|j\}}}|j||d|t||j||dddS(Ntaftersbad window path name "badValue"(RRRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_after(scCsN|j\}}}|j||d|t||j||dddS(Ntbeforesbad window path name "badValue"(RRRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_before.sc CsW|j\}}}|j||ddddtdk|j||dddS( NR4i Riii sbad screen distance "badValue"(iii (RRRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_height4s cCsH|j\}}}|j||dtd|j||dddS(Nthideis)expected boolean value but got "badValue"(RRtFalseR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_hide;scCsH|j\}}}|j||ddd|j||dddS(Ntminsizei sbad screen distance "badValue"(RRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_minsizeBscCsH|j\}}}|j||ddd|j||dddS(NR9g?isbad screen distance "badValue"(RRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_padxHscCsH|j\}}}|j||ddd|j||dddS(NR:g?isbad screen distance "badValue"(RRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_padyNscCsH|j\}}}|j||ddd|j||dddS(Ntstickytnsewtnesws[bad stickyness value "badValue": must be a string containing zero or more of n, e, s, and w(RRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_stickyTscCsH|j\}}}|j||ddd|j||dddS(NtstretchtalwtalwayssEbad stretch "badValue": must be always, first, last, middle, or never(RRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_stretch\sc CsW|j\}}}|j||ddddtdk|j||dddS( NR?i Riii sbad screen distance "badValue"(iii (RRRR(RRRR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_paneconfigure_widthds (R1R2R3RRR4RRRRRR;RRRRRR?("RR.RSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRsH                    tMenuTestcBseeZdZeZdZdZdZdZdZ dZ dZ dZ dZ RS(RztactiveborderwidthR{R1R2R3RRWRXt postcommandR;RR=ttearoffttearoffcommandRttypecKstj|j|S(N(R@RERB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRwscCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_postcommandzs cCs |j}|j|ddS(NR(RR (RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_tearoff~s cCs |j}|j|ddS(NR(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_tearoffcommands cCs#|j}|j|dddS(NRs any string(RRF(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_titles cCs)|j}|j|dddddS(NRRRtmenubar(RRj(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_types  cCs |j}|jdd|jt|j|jtd|jdWdQX|jd}|j|tx|j D]v\}}|j|t |j|t |j t |d|j |d||j |jd||dqW|jdS( NRrttestsbad menu entry index "foo"Rniiii(Rt add_commandRRtentryconfigureRnRRrRsRtRttupleRRvt entrycgetRq(Rtm1RzR{R|((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_entryconfigures $cCsk|j}|jdd|j|jddd|jddd|j|jddddS(NRrR itchanged(RRRRR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_entryconfigure_labels  c Cs|j}tj|j}tj|j}|jd|dtdtdd|jt|j ddt||j dd||jt|j ddt|dS(NRRRRrtNonsensei( RR@t BooleanVarRBtadd_checkbuttonR)RRRRR(RRtv1tv2((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyttest_entryconfigure_variables ((RzRR{R1R2R3RRWRXRR;RR=RRRR(RR.RSR RxRRRR R R RRR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRls        t MessageTestcBs&eZdZeZdZdZRS(R|taspectR1R2R3RWRXR5R6R7RR9R:R;R=R[RR?cKstj|j|S(N(R@tMessageRB(RRC((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRscCs)|j}|j|dddddS(NRiii(RR(RR((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyt test_aspects (R|RR1R2R3RWRXR5R6R7RR9R:R;R=R[RR?(RR.RSR R/RR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pyRs t__main__(1RtTkinterR@RRIRttest.test_supportRRttest_ttk.supportRRRRt widget_testsRRR R R R R RRRRtTestCaseR0RTRVRtRyRRRRRRRRRLR[RRRRRt tests_guiR(((s=/usr/lib64/python2.7/lib-tk/test/test_tkinter/test_widgets.pytsl    "F % (       AE h BB1  D