From 572bae4125af24811ce5fe197106c78f707efa31 Mon Sep 17 00:00:00 2001 From: jjaquish Date: Tue, 20 Sep 2022 15:19:05 -0400 Subject: [PATCH 1/2] Initial OUIA changes for tabs --- src/widgetastic_patternfly4/ouia.py | 5 +++++ src/widgetastic_patternfly4/tabs.py | 20 +++++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/widgetastic_patternfly4/ouia.py b/src/widgetastic_patternfly4/ouia.py index dbc43d2d..e6955374 100644 --- a/src/widgetastic_patternfly4/ouia.py +++ b/src/widgetastic_patternfly4/ouia.py @@ -22,6 +22,7 @@ from widgetastic_patternfly4.select import BaseCheckboxSelect from widgetastic_patternfly4.select import BaseSelect from widgetastic_patternfly4.switch import BaseSwitch +from widgetastic_patternfly4.tab import BaseTab from widgetastic_patternfly4.table import BaseExpandableTable from widgetastic_patternfly4.table import BasePatternflyTable @@ -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" diff --git a/src/widgetastic_patternfly4/tabs.py b/src/widgetastic_patternfly4/tabs.py index cbf303d9..844e62e0 100644 --- a/src/widgetastic_patternfly4/tabs.py +++ b/src/widgetastic_patternfly4/tabs.py @@ -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 @@ -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.""" @@ -63,3 +55,13 @@ def child_widget_accessed(self, widget): def __repr__(self): return "".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)]" + ) From 225b0582a62fe1a444272283f47f0fd6894169ef Mon Sep 17 00:00:00 2001 From: jjaquish Date: Tue, 20 Sep 2022 16:43:04 -0400 Subject: [PATCH 2/2] Fixed import issue --- src/widgetastic_patternfly4/ouia.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgetastic_patternfly4/ouia.py b/src/widgetastic_patternfly4/ouia.py index e6955374..aaaea974 100644 --- a/src/widgetastic_patternfly4/ouia.py +++ b/src/widgetastic_patternfly4/ouia.py @@ -22,9 +22,9 @@ from widgetastic_patternfly4.select import BaseCheckboxSelect from widgetastic_patternfly4.select import BaseSelect from widgetastic_patternfly4.switch import BaseSwitch -from widgetastic_patternfly4.tab import BaseTab from widgetastic_patternfly4.table import BaseExpandableTable from widgetastic_patternfly4.table import BasePatternflyTable +from widgetastic_patternfly4.tabs import BaseTab class Alert(BaseAlert, OUIAGenericWidget):