1
0

test_header.py 711 B

12345678910111213141516171819202122
  1. import pytest
  2. from nicegui import ui
  3. from nicegui.testing import Screen
  4. @pytest.mark.parametrize('add_scroll_padding', [True, False])
  5. def test_no_scroll_padding(screen: Screen, add_scroll_padding: bool):
  6. ui.header(add_scroll_padding=add_scroll_padding).classes('h-[50px]')
  7. for i in range(100):
  8. with ui.link_target(f'line{i}'):
  9. ui.link(f'Line {i}', f'#line{i}')
  10. screen.open('/')
  11. screen.should_contain('Line 0')
  12. screen.click('Line 10')
  13. screen.wait(0.5)
  14. line_y = screen.selenium.execute_script("return arguments[0].getBoundingClientRect()['y'];", screen.find('Line 10'))
  15. if add_scroll_padding:
  16. assert line_y > 50
  17. else:
  18. assert line_y < 50