Bug 1143928 - Refactor firefox puppeteer Deck and Panel classes to reduce code duplication. r=whimboo

MozReview-Commit-ID: 4j3EzKJ47nm
This commit is contained in:
Henrik Skupin 2016-03-01 03:23:00 +01:00
Родитель 4c98363bf1
Коммит 336b262421
7 изменённых файлов: 43 добавлений и 36 удалений

Просмотреть файл

@ -35,6 +35,7 @@ future. Each library is available from an instance of the FirefoxTestCase class.
.. toctree::
ui/about_window/window
ui/deck
ui/menu
ui/pageinfo/window
ui/browser/tabbar

Просмотреть файл

@ -0,0 +1,9 @@
Deck
=====
Panel
------
.. autoclass:: firefox_puppeteer.ui.deck.Panel
:members:
:inherited-members:

Просмотреть файл

@ -15,6 +15,13 @@ Deck
:members:
:inherited-members:
PageInfoPanel
-------------
.. autoclass:: firefox_puppeteer.ui.pageinfo.deck.PageInfoPanel
:members:
:inherited-members:
SecurityPanel
-------------

Просмотреть файл

@ -5,6 +5,7 @@
from marionette_driver import By
from firefox_puppeteer.ui_base_lib import UIBaseLib
from firefox_puppeteer.ui.deck import Panel
class Deck(UIBaseLib):
@ -133,18 +134,6 @@ class Deck(UIBaseLib):
return self.panels[self.selected_index]
class Panel(UIBaseLib):
def __eq__(self, other):
return self.element.get_attribute('id') == other.element.get_attribute('id')
def __ne__(self, other):
return self.element.get_attribute('id') != other.element.get_attribute('id')
def __str__(self):
return self.element.get_attribute('id')
class ApplyBillboardPanel(Panel):
@property

Просмотреть файл

@ -0,0 +1,17 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at http://mozilla.org/MPL/2.0/.
from firefox_puppeteer.ui_base_lib import UIBaseLib
class Panel(UIBaseLib):
def __eq__(self, other):
return self.element.get_attribute('id') == other.element.get_attribute('id')
def __ne__(self, other):
return self.element.get_attribute('id') != other.element.get_attribute('id')
def __str__(self):
return self.element.get_attribute('id')

Просмотреть файл

@ -5,6 +5,7 @@
from marionette_driver import By, Wait
from firefox_puppeteer.ui_base_lib import UIBaseLib
from firefox_puppeteer.ui.deck import Panel
class Deck(UIBaseLib):
@ -122,16 +123,7 @@ class Deck(UIBaseLib):
return panel
class Panel(UIBaseLib):
def __eq__(self, other):
return self.element.get_attribute('id') == other.element.get_attribute('id')
def __ne__(self, other):
return self.element.get_attribute('id') != other.element.get_attribute('id')
def __str__(self):
return self.element.get_attribute('id')
class PageInfoPanel(Panel):
@property
def tab(self):
@ -143,23 +135,23 @@ class Panel(UIBaseLib):
return self.window.window_element.find_element(By.ID, name + 'Tab')
class FeedPanel(Panel):
class FeedPanel(PageInfoPanel):
pass
class GeneralPanel(Panel):
class GeneralPanel(PageInfoPanel):
pass
class MediaPanel(Panel):
class MediaPanel(PageInfoPanel):
pass
class PermissionsPanel(Panel):
class PermissionsPanel(PageInfoPanel):
pass
class SecurityPanel(Panel):
class SecurityPanel(PageInfoPanel):
@property
def domain(self):

Просмотреть файл

@ -5,6 +5,7 @@
from marionette_driver import By, Wait
from firefox_puppeteer.ui_base_lib import UIBaseLib
from firefox_puppeteer.ui.deck import Panel
class Wizard(UIBaseLib):
@ -249,15 +250,6 @@ class Wizard(UIBaseLib):
return self._create_panel_for_id(self.element.get_attribute('currentpageid'))
class Panel(UIBaseLib):
def __eq__(self, other):
return self.element.get_attribute('id') == other.element.get_attribute('id')
def __ne__(self, other):
return self.element.get_attribute('id') != other.element.get_attribute('id')
class CheckingPanel(Panel):
@property