diff options
| author | Simon <simon@hardwired.org.uk> | 2011-03-22 17:58:52 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2011-03-22 17:58:52 (GMT) |
| commit | 2e401babb793238564ca640fc802a52ab7f6c293 (patch) | |
| tree | 87a9b471e82604e76f96d556f5771322fb31818a /src/python/stdlib/lib-tk/test/test_tkinter | |
| parent | c096b2b14a200a0cc0a08cfea839c9e7f4edf22e (diff) | |
| parent | 04a9cbcb8855e64db660a8c6e23d79114b4afd83 (diff) | |
| download | powder-2e401babb793238564ca640fc802a52ab7f6c293.zip powder-2e401babb793238564ca640fc802a52ab7f6c293.tar.gz | |
Python console
Diffstat (limited to 'src/python/stdlib/lib-tk/test/test_tkinter')
3 files changed, 84 insertions, 0 deletions
diff --git a/src/python/stdlib/lib-tk/test/test_tkinter/__init__.py b/src/python/stdlib/lib-tk/test/test_tkinter/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/python/stdlib/lib-tk/test/test_tkinter/__init__.py diff --git a/src/python/stdlib/lib-tk/test/test_tkinter/test_loadtk.py b/src/python/stdlib/lib-tk/test/test_tkinter/test_loadtk.py new file mode 100644 index 0000000..32c640d --- /dev/null +++ b/src/python/stdlib/lib-tk/test/test_tkinter/test_loadtk.py @@ -0,0 +1,45 @@ +import 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) diff --git a/src/python/stdlib/lib-tk/test/test_tkinter/test_text.py b/src/python/stdlib/lib-tk/test/test_tkinter/test_text.py new file mode 100644 index 0000000..e6c08be --- /dev/null +++ b/src/python/stdlib/lib-tk/test/test_tkinter/test_text.py @@ -0,0 +1,39 @@ +import unittest +import Tkinter +from test.test_support import requires, run_unittest +from ttk import setup_master + +requires('gui') + +class TextTest(unittest.TestCase): + + def setUp(self): + self.root = setup_master() + self.text = Tkinter.Text(self.root) + + def tearDown(self): + self.text.destroy() + + + 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) |
