--- /dev/null
+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)
--- /dev/null
+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)