File: test_push_button.py

package info (click to toggle)
python-enaml 0.19.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,284 kB
  • sloc: python: 31,443; cpp: 4,499; makefile: 140; javascript: 68; lisp: 53; sh: 20
file content (41 lines) | stat: -rw-r--r-- 1,125 bytes parent folder | download
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
# -----------------------------------------------------------------------------
# Copyright (c) 2022-2024, Nucleic Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file LICENSE, distributed with this software.
# -----------------------------------------------------------------------------
"""Test the behavior of the push button.

"""
from utils import compile_source, wait_for_window_displayed


SOURCE = """
from enaml.widgets.api import Container, PushButton, Window

enamldef Main(Window): w:

    attr clicked: bool = False
    alias button: pb

    Container:
        PushButton: pb:
            text = "Click me"
            clicked ::
                w.clicked = True

"""


def test_push_button(enaml_qtbot, enaml_sleep):
    """Check we can click on a push button."""
    win = compile_source(SOURCE, "Main")()
    win.show()
    wait_for_window_displayed(enaml_qtbot, win)

    from enaml.qt import QtCore
    # Click the button
    enaml_qtbot.mouseClick(win.button.proxy.widget, QtCore.Qt.LeftButton)

    enaml_qtbot.wait_until(lambda: win.clicked)