Guilherme Polo | cda93aa | 2009-01-28 13:09:03 +0000 | [diff] [blame] | 1 | import os |
Benjamin Peterson | bf4464a | 2009-03-26 21:30:10 +0000 | [diff] [blame] | 2 | import unittest |
Guilherme Polo | cda93aa | 2009-01-28 13:09:03 +0000 | [diff] [blame] | 3 | from test import test_support |
| 4 | |
Zachary Ware | 2460dc8 | 2014-05-02 10:33:49 -0500 | [diff] [blame] | 5 | # Skip this test if _tkinter wasn't built or gui resource is not available. |
R. David Murray | 597ebab | 2009-03-31 18:32:17 +0000 | [diff] [blame] | 6 | test_support.import_module('_tkinter') |
Zachary Ware | 2460dc8 | 2014-05-02 10:33:49 -0500 | [diff] [blame] | 7 | test_support.requires('gui') |
R. David Murray | 597ebab | 2009-03-31 18:32:17 +0000 | [diff] [blame] | 8 | |
Ned Deily | 46268c4 | 2011-07-03 21:52:35 -0700 | [diff] [blame] | 9 | this_dir = os.path.dirname(os.path.abspath(__file__)) |
| 10 | lib_tk_test = os.path.abspath(os.path.join(this_dir, os.path.pardir, |
| 11 | 'lib-tk', 'test')) |
| 12 | |
| 13 | with test_support.DirsOnSysPath(lib_tk_test): |
| 14 | import runtktests |
| 15 | |
Serhiy Storchaka | d3ea065 | 2014-08-24 09:07:09 +0300 | [diff] [blame] | 16 | import Tkinter as tkinter |
R. David Murray | 597ebab | 2009-03-31 18:32:17 +0000 | [diff] [blame] | 17 | import ttk |
R. David Murray | 59beec3 | 2009-03-30 19:04:00 +0000 | [diff] [blame] | 18 | from _tkinter import TclError |
| 19 | |
Serhiy Storchaka | d3ea065 | 2014-08-24 09:07:09 +0300 | [diff] [blame] | 20 | root = None |
Guilherme Polo | 7a77ee8 | 2009-01-28 19:28:04 +0000 | [diff] [blame] | 21 | try: |
Serhiy Storchaka | d3ea065 | 2014-08-24 09:07:09 +0300 | [diff] [blame] | 22 | root = tkinter.Tk() |
| 23 | button = ttk.Button(root) |
| 24 | button.destroy() |
| 25 | del button |
| 26 | except TclError as msg: |
Guilherme Polo | 7a77ee8 | 2009-01-28 19:28:04 +0000 | [diff] [blame] | 27 | # assuming ttk is not available |
Benjamin Peterson | 888a39b | 2009-03-26 20:48:25 +0000 | [diff] [blame] | 28 | raise unittest.SkipTest("ttk not available: %s" % msg) |
Serhiy Storchaka | d3ea065 | 2014-08-24 09:07:09 +0300 | [diff] [blame] | 29 | finally: |
| 30 | if root is not None: |
| 31 | root.destroy() |
| 32 | del root |
Guilherme Polo | 7a77ee8 | 2009-01-28 19:28:04 +0000 | [diff] [blame] | 33 | |
Zachary Ware | 9ce635f | 2014-06-02 16:01:16 -0500 | [diff] [blame] | 34 | def test_main(): |
Nick Coghlan | 7df72dc | 2009-10-17 14:40:54 +0000 | [diff] [blame] | 35 | with test_support.DirsOnSysPath(lib_tk_test): |
Serhiy Storchaka | d3ea065 | 2014-08-24 09:07:09 +0300 | [diff] [blame] | 36 | test_support.run_unittest( |
| 37 | *runtktests.get_tests(text=False, packages=['test_ttk'])) |
Guilherme Polo | cda93aa | 2009-01-28 13:09:03 +0000 | [diff] [blame] | 38 | |
| 39 | if __name__ == '__main__': |
Zachary Ware | 9ce635f | 2014-06-02 16:01:16 -0500 | [diff] [blame] | 40 | test_main() |