Kaydet (Commit) a91790a5 authored tarafından Guilherme Polo's avatar Guilherme Polo

Merged revisions 69460,69467,69470 via svnmerge from

svn+ssh://pythondev/python/trunk

........
  r69460 | guilherme.polo | 2009-02-09 14:09:17 -0200 (Mon, 09 Feb 2009) | 1 line

  Turned setup_master public
........
  r69467 | guilherme.polo | 2009-02-09 17:21:21 -0200 (Mon, 09 Feb 2009) | 2 lines

  Some tests for Tkinter.Text.search
........
  r69470 | guilherme.polo | 2009-02-09 17:57:04 -0200 (Mon, 09 Feb 2009) | 1 line

  Checking for tk availability before continuing (basically the same that is done in test_ttk_guionly)
........
üst 87ec0855
......@@ -1075,6 +1075,7 @@ _expectations = {
test_pty
test_socketserver
test_tcl
test_tk
test_ttk_guionly
test_ttk_textonly
test_timeout
......@@ -1092,6 +1093,7 @@ _expectations = {
test_kqueue
test_ossaudiodev
test_tcl
test_tk
test_ttk_guionly
test_ttk_textonly
test_zipimport
......@@ -1109,6 +1111,7 @@ _expectations = {
test_ossaudiodev
test_pep277
test_tcl
test_tk
test_ttk_guionly
test_ttk_textonly
test_multiprocessing
......@@ -1125,6 +1128,7 @@ _expectations = {
test_ossaudiodev
test_pep277
test_tcl
test_tk
test_ttk_guionly
test_ttk_textonly
test_multiprocessing
......
import tkinter
from tkinter.test import runtktests
from test import support
try:
tkinter.Button()
except tkinter.TclError as msg:
# assuming tk is not available
raise support.TestSkipped("tk not available: %s" % msg)
def test_main(enable_gui=False):
if enable_gui:
if support.use_resources is None:
support.use_resources = ['gui']
elif 'gui' not in support.use_resources:
support.use_resources.append('gui')
support.run_unittest(
*runtktests.get_tests(text=False, packages=['test_tkinter']))
if __name__ == '__main__':
test_main(enable_gui=True)
import unittest
import tkinter
from test.support import requires, run_unittest
from tkinter.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)
......@@ -23,7 +23,7 @@ __all__ = ["Button", "Checkbutton", "Combobox", "Entry", "Frame", "Label",
# Extensions
"LabeledScale", "OptionMenu",
# functions
"tclobjs_to_py"]
"tclobjs_to_py", "setup_master"]
import tkinter
......@@ -47,24 +47,6 @@ def _load_tile(master):
master.tk.eval('package require tile') # TclError may be raised here
master._tile_loaded = True
def _setup_master(master=None):
"""If master is not None, itself is returned. If master is None,
the default master is returned if there is one, otherwise a new
master is created and returned.
If it is not allowed to use the default root and master is None,
RuntimeError is raised."""
if master is None:
if tkinter._support_default_root:
master = tkinter._default_root or tkinter.Tk()
else:
raise RuntimeError(
"No master specified and tkinter is "
"configured to not support default root")
return master
def _format_optdict(optdict, script=False, ignore=None):
"""Formats optdict to a tuple to pass it to tk.call.
......@@ -367,6 +349,22 @@ def tclobjs_to_py(adict):
return adict
def setup_master(master=None):
"""If master is not None, itself is returned. If master is None,
the default master is returned if there is one, otherwise a new
master is created and returned.
If it is not allowed to use the default root and master is None,
RuntimeError is raised."""
if master is None:
if tkinter._support_default_root:
master = tkinter._default_root or tkinter.Tk()
else:
raise RuntimeError(
"No master specified and tkinter is "
"configured to not support default root")
return master
class Style(object):
"""Manipulate style database."""
......@@ -374,7 +372,7 @@ class Style(object):
_name = "ttk::style"
def __init__(self, master=None):
master = _setup_master(master)
master = setup_master(master)
if not getattr(master, '_tile_loaded', False):
# Load tile now, if needed
......@@ -555,7 +553,7 @@ class Widget(tkinter.Widget):
active, disabled, focus, pressed, selected, background,
readonly, alternate, invalid
"""
master = _setup_master(master)
master = setup_master(master)
if not getattr(master, '_tile_loaded', False):
# Load tile now, if needed
_load_tile(master)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment