summaryrefslogtreecommitdiffstats
path: root/testing/firefox-ui/tests/puppeteer/test_page_info_window.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/firefox-ui/tests/puppeteer/test_page_info_window.py')
-rw-r--r--testing/firefox-ui/tests/puppeteer/test_page_info_window.py100
1 files changed, 100 insertions, 0 deletions
diff --git a/testing/firefox-ui/tests/puppeteer/test_page_info_window.py b/testing/firefox-ui/tests/puppeteer/test_page_info_window.py
new file mode 100644
index 000000000..d86cbee3c
--- /dev/null
+++ b/testing/firefox-ui/tests/puppeteer/test_page_info_window.py
@@ -0,0 +1,100 @@
+# 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 import PuppeteerMixin
+from marionette_harness import MarionetteTestCase
+
+
+class TestPageInfoWindow(PuppeteerMixin, MarionetteTestCase):
+
+ def tearDown(self):
+ try:
+ self.puppeteer.windows.close_all([self.browser])
+ finally:
+ super(TestPageInfoWindow, self).tearDown()
+
+ def test_elements(self):
+ """Test correct retrieval of elements."""
+ page_info = self.browser.open_page_info_window()
+
+ self.assertNotEqual(page_info.dtds, [])
+ self.assertNotEqual(page_info.properties, [])
+
+ self.assertEqual(page_info.deck.element.get_property('localName'), 'deck')
+
+ # feed panel
+ self.assertEqual(page_info.deck.feed.element.get_property('localName'), 'vbox')
+
+ # general panel
+ self.assertEqual(page_info.deck.general.element.get_property('localName'), 'vbox')
+
+ # media panel
+ self.assertEqual(page_info.deck.media.element.get_property('localName'), 'vbox')
+
+ # permissions panel
+ self.assertEqual(page_info.deck.permissions.element.get_property('localName'), 'vbox')
+
+ # security panel
+ panel = page_info.deck.select(page_info.deck.security)
+
+ self.assertEqual(panel.element.get_property('localName'), 'vbox')
+
+ self.assertEqual(panel.domain.get_property('localName'), 'textbox')
+ self.assertEqual(panel.owner.get_property('localName'), 'textbox')
+ self.assertEqual(panel.verifier.get_property('localName'), 'textbox')
+
+ self.assertEqual(panel.view_certificate.get_property('localName'), 'button')
+ self.assertEqual(panel.view_cookies.get_property('localName'), 'button')
+ self.assertEqual(panel.view_passwords.get_property('localName'), 'button')
+
+ def test_select(self):
+ """Test properties and methods for switching between panels."""
+ page_info = self.browser.open_page_info_window()
+ deck = page_info.deck
+
+ self.assertEqual(deck.selected_panel, deck.general)
+
+ self.assertEqual(deck.select(deck.security), deck.security)
+ self.assertEqual(deck.selected_panel, deck.security)
+
+ def test_open_window(self):
+ """Test various opening strategies."""
+ def opener(win):
+ self.browser.menubar.select_by_id('tools-menu', 'menu_pageInfo')
+
+ open_strategies = ('menu',
+ 'shortcut',
+ opener,
+ )
+
+ for trigger in open_strategies:
+ if trigger == 'shortcut' and self.puppeteer.platform == 'windows_nt':
+ # The shortcut for page info window does not exist on windows.
+ self.assertRaises(ValueError, self.browser.open_page_info_window,
+ trigger=trigger)
+ continue
+
+ page_info = self.browser.open_page_info_window(trigger=trigger)
+ self.assertEquals(page_info, self.puppeteer.windows.current)
+ page_info.close()
+
+ def test_close_window(self):
+ """Test various closing strategies."""
+ def closer(win):
+ win.send_shortcut(win.localize_entity('closeWindow.key'),
+ accel=True)
+
+ # Close a tab by each trigger method
+ close_strategies = ('menu',
+ 'shortcut',
+ closer,
+ )
+ for trigger in close_strategies:
+ # menu only works on OS X
+ if trigger == 'menu' and self.puppeteer.platform != 'darwin':
+ continue
+
+ page_info = self.browser.open_page_info_window()
+ page_info.close(trigger=trigger)
+ self.assertTrue(page_info.closed)