Skip to content

Commit

Permalink
Add regression test for #1814.
Browse files Browse the repository at this point in the history
  • Loading branch information
rodrigogiraoserrao committed Mar 13, 2023
1 parent 40d9997 commit 7e83acb
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions tests/test_message_handling.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
from textual.app import App, ComposeResult
from textual.message import Message
from textual.widget import Widget


async def test_message_inheritance_namespace():
"""Inherited messages get their correct namespaces.
Regression test for https://github.com/Textualize/textual/issues/1814.
"""

class BaseWidget(Widget):
class Fired(Message):
pass

def trigger(self) -> None:
self.post_message(self.Fired())

class Left(BaseWidget):
class Fired(BaseWidget.Fired):
pass

class Right(BaseWidget):
class Fired(BaseWidget.Fired):
pass

handlers_called = []

class MessageInheritanceApp(App[None]):
def compose(self) -> ComposeResult:
yield Left()
yield Right()

def on_left_fired(self):
handlers_called.append("left")

def on_right_fired(self):
handlers_called.append("right")

app = MessageInheritanceApp()
async with app.run_test():
app.query_one(Left).trigger()
app.query_one(Right).trigger()

assert handlers_called == ["left", "right"]

0 comments on commit 7e83acb

Please sign in to comment.