Mypal68/testing/firefox-ui/tests/puppeteer/test_about_window.py
2023-05-31 17:48:49 +03:00

76 lines
2.8 KiB
Python

# 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 __future__ import absolute_import
from firefox_puppeteer import PuppeteerMixin
from firefox_puppeteer.ui.deck import Panel
from marionette_harness import MarionetteTestCase
class TestAboutWindow(PuppeteerMixin, MarionetteTestCase):
def setUp(self):
super(TestAboutWindow, self).setUp()
self.about_window = self.browser.open_about_window()
self.deck = self.about_window.deck
def tearDown(self):
try:
self.puppeteer.windows.close_all([self.browser])
finally:
super(TestAboutWindow, self).tearDown()
def test_basic(self):
self.assertEqual(self.about_window.window_type, 'Browser:About')
def test_elements(self):
"""Test correct retrieval of elements."""
self.assertNotEqual(self.about_window.dtds, [])
self.assertEqual(self.deck.element.get_property('localName'), 'deck')
# apply panel
panel = self.deck.apply
self.assertEqual(panel.element.get_property('localName'), 'hbox')
self.assertEqual(panel.button.get_property('localName'), 'button')
# check_for_updates panel
panel = self.deck.check_for_updates
self.assertEqual(panel.element.get_property('localName'), 'hbox')
self.assertEqual(panel.button.get_property('localName'), 'button')
# checking_for_updates panel
self.assertEqual(self.deck.checking_for_updates.element.get_property('localName'), 'hbox')
# download_and_install panel
panel = self.deck.download_and_install
self.assertEqual(panel.element.get_property('localName'), 'hbox')
self.assertEqual(panel.button.get_property('localName'), 'button')
# download_failed panel
self.assertEqual(self.deck.download_failed.element.get_property('localName'), 'hbox')
# downloading panel
self.assertEqual(self.deck.downloading.element.get_property('localName'), 'hbox')
# check deck attributes
self.assertIsInstance(self.deck.selected_index, int)
self.assertIsInstance(self.deck.selected_panel, Panel)
def test_open_window(self):
"""Test various opening strategies."""
def opener(win):
self.browser.menubar.select_by_id('helpMenu', 'aboutName')
open_strategies = ('menu',
opener,
)
self.about_window.close()
for trigger in open_strategies:
about_window = self.browser.open_about_window(trigger=trigger)
self.assertEquals(about_window, self.puppeteer.windows.current)
about_window.close()