1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
# (C) Copyright 2004-2023 Enthought, Inc., Austin, TX
# All rights reserved.
#
# This software is provided without warranty under the terms of the BSD
# license included in LICENSE.txt and may be redistributed only under
# the conditions described in the aforementioned license. The license
# is also available online at http://www.enthought.com/licenses/BSD.txt
#
# Thanks for using Enthought open source!
import unittest
from traits.api import Any, Dict, HasTraits, Str
from traitsui.api import Item, ShellEditor, View
from traitsui.testing.api import UITester
from traitsui.tests._tools import (
BaseTestMixin,
requires_toolkit,
ToolkitName,
)
class ShellTest(HasTraits):
locals_str = Str()
locals_dict = Dict(Str, Any)
def get_str_view(share=False):
return View(
Item(
"locals_str",
editor=ShellEditor(share=share),
)
)
def get_dict_view(share=False):
return View(
Item(
"locals_dict",
editor=ShellEditor(share=share),
)
)
@requires_toolkit([ToolkitName.qt, ToolkitName.wx])
class TestShellEditor(BaseTestMixin, unittest.TestCase):
def setUp(self):
BaseTestMixin.setUp(self)
def tearDown(self):
BaseTestMixin.tearDown(self)
def smoke_test(self, locals_type, share):
shell_test = ShellTest()
tester = UITester()
if locals_type == "str":
with tester.create_ui(shell_test, dict(view=get_str_view(share))):
pass
else:
with tester.create_ui(shell_test, dict(view=get_dict_view(share))):
pass
def test_no_share_dict(self):
self.smoke_test("dict", False)
def test_share_dict(self):
self.smoke_test("dict", True)
def test_no_share_str(self):
self.smoke_test("str", False)
def test_share_str(self):
self.smoke_test("str", True)
|