Пример #1
0
def test_visual_feedback_on_items(web_fixture, visual_feedback_scenarios):
    """The state of a MenuItem is visually indicated to a user."""

    menu = Nav(web_fixture.view)
    menu.add_a(A(web_fixture.view, Url('/an_url')))
    menu.add_a(visual_feedback_scenarios.menu_item_with_state)

    [defaulted_item, item_with_state] = menu.html_representation.children

    [defaulted_a] = defaulted_item.children
    [a_with_state] = item_with_state.children

    assert visual_feedback_scenarios.state_indicator_class not in defaulted_a.get_attribute('class')
    assert visual_feedback_scenarios.state_indicator_class in a_with_state.get_attribute('class')
Пример #2
0
def test_rendering_active_menu_items(web_fixture, menu_item_scenarios):
    """A MenuItem is marked as active based on its active_regex or the A it represents."""
    description = 'The link'
    href = Url('/link')


    menu = Nav(web_fixture.view)
    menu_item_a = A(web_fixture.view, href, description=description)
    menu.add_a(menu_item_a, active_regex=menu_item_scenarios.active_regex)
    tester = WidgetTester(menu)

    actual = tester.get_html_for('//li')
    active_str = '' if not menu_item_scenarios.active else 'active '
    expected_menu_item_html = '<li class="nav-item"><a href="/link" class="%snav-link">The link</a></li>'  % (active_str)
    assert actual == expected_menu_item_html
Пример #3
0
 def new_menu(self):
     menu = Nav(self.web_fixture.view)
     menu.add_a(self.menu_item_a)
     return menu