test_header.py 704 B

1234567891011121314151617181920212223
  1. import pytest
  2. from nicegui import ui
  3. from .screen 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