summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuilherme Polo <ggpolo@gmail.com>2009-02-09 19:21:21 (GMT)
committerGuilherme Polo <ggpolo@gmail.com>2009-02-09 19:21:21 (GMT)
commitbbb7efd72b3360f0523087cff6868f8fa02fe754 (patch)
tree90a359378f86ae15b8ac53c47949422a08d7e9d9
parent94034ea5842d953117e9192589d6487eb59812f1 (diff)
downloadcpython-bbb7efd72b3360f0523087cff6868f8fa02fe754.zip
cpython-bbb7efd72b3360f0523087cff6868f8fa02fe754.tar.gz
cpython-bbb7efd72b3360f0523087cff6868f8fa02fe754.tar.bz2
Some tests for Tkinter.Text.search
-rw-r--r--Lib/lib-tk/test/test_tkinter/__init__.py0
-rw-r--r--Lib/lib-tk/test/test_tkinter/test_text.py39
-rwxr-xr-xLib/test/regrtest.py4
-rw-r--r--Lib/test/test_tk.py25
4 files changed, 68 insertions, 0 deletions
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 0000000..e69de29
--- /dev/null
+++ b/Lib/lib-tk/test/test_tkinter/__init__.py
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 0000000..009b8de
--- /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 5c91dc3..955e551 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 0000000..5d79a3c
--- /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)