test_page.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. from reflex import text
  2. from reflex.config import get_config
  3. from reflex.page import DECORATED_PAGES, page
  4. def test_page_decorator():
  5. def foo_():
  6. return text("foo")
  7. assert len(DECORATED_PAGES) == 0
  8. decorated_foo_ = page()(foo_)
  9. assert decorated_foo_ == foo_
  10. assert len(DECORATED_PAGES) == 1
  11. page_data = DECORATED_PAGES.get(get_config().app_name, [])[0][1]
  12. assert page_data == {}
  13. DECORATED_PAGES.clear()
  14. def test_page_decorator_with_kwargs():
  15. def foo_():
  16. return text("foo")
  17. def load_foo():
  18. return []
  19. DECORATED_PAGES.clear()
  20. assert len(DECORATED_PAGES) == 0
  21. decorated_foo_ = page(
  22. route="foo",
  23. title="Foo",
  24. image="foo.png",
  25. description="Foo description",
  26. meta=["foo-meta"],
  27. script_tags=["foo-script"],
  28. on_load=load_foo,
  29. )(foo_)
  30. assert decorated_foo_ == foo_
  31. assert len(DECORATED_PAGES) == 1
  32. page_data = DECORATED_PAGES.get(get_config().app_name, [])[0][1]
  33. assert page_data == {
  34. "description": "Foo description",
  35. "image": "foo.png",
  36. "meta": ["foo-meta"],
  37. "on_load": load_foo,
  38. "route": "foo",
  39. "script_tags": ["foo-script"],
  40. "title": "Foo",
  41. }
  42. DECORATED_PAGES.clear()