
* lift node version restraint to allow more recent version if already installed * add node test for latest version * change python version * use purple for debug logs * update workflow * add playwright dev dependency * update workflow * change test * oops * improve test * update test * fix tests * mv units tests to a subfolder * reorganize tests * fix install * update test_state * revert node changes and only keep new tests organization * move integration tests in tests/integration * fix integration workflow * fix dockerfile workflow * fix dockerfile workflow 2 * fix shared_state
38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
from reflex.components.component import Component
|
|
from reflex.event import EventHandler
|
|
|
|
|
|
# This is a repeat of its namesake in test_component.py.
|
|
def test_custom_component_declare_event_handlers_in_fields():
|
|
class ReferenceComponent(Component):
|
|
def get_event_triggers(self) -> dict[str, Any]:
|
|
"""Test controlled triggers.
|
|
|
|
Returns:
|
|
Test controlled triggers.
|
|
"""
|
|
return {
|
|
**super().get_event_triggers(),
|
|
"on_a": lambda e: [e],
|
|
"on_b": lambda e: [e.target.value],
|
|
"on_c": lambda e: [],
|
|
"on_d": lambda: [],
|
|
}
|
|
|
|
class TestComponent(Component):
|
|
on_a: EventHandler[lambda e0: [e0]]
|
|
on_b: EventHandler[lambda e0: [e0.target.value]]
|
|
on_c: EventHandler[lambda e0: []]
|
|
on_d: EventHandler[lambda: []]
|
|
|
|
custom_component = ReferenceComponent.create()
|
|
test_component = TestComponent.create()
|
|
assert (
|
|
custom_component.get_event_triggers().keys()
|
|
== test_component.get_event_triggers().keys()
|
|
)
|