Selaa lähdekoodia

add test for customised page

Rodja Trappe 2 vuotta sitten
vanhempi
säilyke
f2f08d786a
1 muutettua tiedostoa jossa 29 lisäystä ja 0 poistoa
  1. 29 0
      tests/test_pages.py

+ 29 - 0
tests/test_pages.py

@@ -129,3 +129,32 @@ def test_on_page_ready_event(screen: Screen):
 
     screen.open('/')
     screen.should_contain('delayed data has been loaded')
+
+
+def test_customised_page(screen: Screen):
+    trace = []
+
+    class custom_page(ui.page):
+
+        def __init__(self, route: str, **kwargs):
+            super().__init__(route, title='My Customized Page', **kwargs)
+            trace.append('init')
+
+        async def header(self) -> None:
+            await super().header()
+            trace.append('header')
+
+        async def footer(self) -> None:
+            await super().footer()
+            trace.append('footer')
+
+    @custom_page('/', dark=True)
+    def mainpage():
+        trace.append('content')
+        ui.label('Hello, world!')
+
+    screen.open('/')
+    screen.should_contain('Hello, world!')
+    screen.should_contain('My Customized Page')
+    assert 'body--dark' in screen.get_tags('body')[0].get_attribute('class')
+    assert trace == ['init', 'header', 'content', 'footer']