Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions src/widgetastic_patternfly4/ouia.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
from widgetastic_patternfly4.switch import BaseSwitch
from widgetastic_patternfly4.table import BaseExpandableTable
from widgetastic_patternfly4.table import BasePatternflyTable
from widgetastic_patternfly4.tabs import BaseTab


class Alert(BaseAlert, OUIAGenericWidget):
Expand Down Expand Up @@ -135,3 +136,7 @@ class ContextSelector(BaseContextSelector, Select):

class OptionsMenu(BaseOptionsMenu, Dropdown):
OUIA_COMPONENT_TYPE = "PF4/OptionsMenu"


class Tab(BaseTab, OUIAGenericWidget):
OUIA_COMPONENT_TYPE = "PF4/Tab"
20 changes: 11 additions & 9 deletions src/widgetastic_patternfly4/tabs.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from widgetastic.widget import View


class Tab(View):
class BaseTab(View):
"""Represents the Patternfly Tab widget.

Selects itself automatically when any child widget gets accessed, ensuring that the widget is
Expand All @@ -21,14 +21,6 @@ class Tab(View):
"/li[button[normalize-space(.)={@tab_name|quote}]]"
)

ROOT = ParametrizedLocator(
".//section[@aria-labelledby=string("
"preceding-sibling::div/ul/li/button[normalize-space(.)={@tab_name|quote}]/@id)]"
"|"
".//section[@id=string(../preceding-sibling::div/ul/li"
"/button[normalize-space(.)={@tab_name|quote}]/@aria-controls)]"
)

@property
def tab_name(self):
"""Returns the tab name as a string."""
Expand Down Expand Up @@ -63,3 +55,13 @@ def child_widget_accessed(self, widget):

def __repr__(self):
return "<Tab {!r}>".format(self.tab_name)


class Tab(BaseTab):
ROOT = ParametrizedLocator(
".//section[@aria-labelledby=string("
"preceding-sibling::div/ul/li/button[normalize-space(.)={@tab_name|quote}]/@id)]"
"|"
".//section[@id=string(../preceding-sibling::div/ul/li"
"/button[normalize-space(.)={@tab_name|quote}]/@aria-controls)]"
)