File: test_widget_setter.py

package info (click to toggle)
python-trame-client 3.10.4-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 3,128 kB
  • sloc: python: 9,583; javascript: 3,897; sh: 9; makefile: 6
file content (30 lines) | stat: -rw-r--r-- 665 bytes parent folder | download | duplicates (2)
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
from trame.app import get_server
from trame.widgets import html


class MyDiv(html.Div):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self._rw = "initial value"

    @property
    def secret(self):
        return "my secret"

    @property
    def rw(self):
        return self._rw

    @rw.setter
    def rw(self, v):
        print("exec setter")
        self._rw = v


def test_component_setter():
    server = get_server("test_component_props")
    w = MyDiv(trame_server=server)
    assert w.secret == "my secret"
    assert w.rw == "initial value"
    w.rw = "hello new value"
    assert w.rw == "hello new value"