From bbb7efd72b3360f0523087cff6868f8fa02fe754 Mon Sep 17 00:00:00 2001 From: Guilherme Polo Date: Mon, 9 Feb 2009 19:21:21 +0000 Subject: [PATCH] Some tests for Tkinter.Text.search --- Lib/lib-tk/test/test_tkinter/__init__.py | 0 Lib/lib-tk/test/test_tkinter/test_text.py | 39 +++++++++++++++++++++++ Lib/test/regrtest.py | 4 +++ Lib/test/test_tk.py | 25 +++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 Lib/lib-tk/test/test_tkinter/__init__.py create mode 100644 Lib/lib-tk/test/test_tkinter/test_text.py create mode 100644 Lib/test/test_tk.py diff --git a/Lib/lib-tk/test/test_tkinter/__init__.py b/Lib/lib-tk/test/test_tkinter/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/Lib/lib-tk/test/test_tkinter/test_text.py b/Lib/lib-tk/test/test_tkinter/test_text.py new file mode 100644 index 00000000000..009b8de58b9 --- /dev/null +++ b/Lib/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.failUnlessRaises(Tkinter.TclError, text.search, None, '1.0') + self.failUnlessRaises(Tkinter.TclError, text.search, 'a', None) + self.failUnlessRaises(Tkinter.TclError, text.search, None, None) + + # Invalid text index. + self.failUnlessRaises(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.failUnlessEqual(text.search('-test', '1.0', 'end'), '1.2') + self.failUnlessEqual(text.search('test', '1.0', 'end'), '1.3') + + +tests_gui = (TextTest, ) + +if __name__ == "__main__": + run_unittest(*tests_gui) diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 5c91dc3a772..955e551e585 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -1047,6 +1047,7 @@ _expectations = { test_socket_ssl test_socketserver test_tcl + test_tk test_ttk_guionly test_ttk_textonly test_timeout @@ -1066,6 +1067,7 @@ _expectations = { test_kqueue test_ossaudiodev test_tcl + test_tk test_ttk_guionly test_ttk_textonly test_zipimport @@ -1084,6 +1086,7 @@ _expectations = { test_ossaudiodev test_pep277 test_tcl + test_tk test_ttk_guionly test_ttk_textonly test_multiprocessing @@ -1102,6 +1105,7 @@ _expectations = { test_ossaudiodev test_pep277 test_tcl + test_tk test_ttk_guionly test_ttk_textonly test_multiprocessing diff --git a/Lib/test/test_tk.py b/Lib/test/test_tk.py new file mode 100644 index 00000000000..5d79a3c2202 --- /dev/null +++ b/Lib/test/test_tk.py @@ -0,0 +1,25 @@ +import os +import sys +from _tkinter import TclError +from test import test_support + +this_dir = os.path.dirname(os.path.abspath(__file__)) +lib_tk_test = os.path.abspath(os.path.join(this_dir, os.path.pardir, + 'lib-tk', 'test')) +if lib_tk_test not in sys.path: + sys.path.append(lib_tk_test) + +import runtktests + +def test_main(enable_gui=False): + if enable_gui: + if test_support.use_resources is None: + test_support.use_resources = ['gui'] + elif 'gui' not in test_support.use_resources: + test_support.use_resources.append('gui') + + test_support.run_unittest( + *runtktests.get_tests(text=False, packages=['test_tkinter'])) + +if __name__ == '__main__': + test_main(enable_gui=True)