summaryrefslogtreecommitdiffstats
path: root/testing/firefox-ui/tests/functional/keyboard_shortcuts/test_browser_window.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/firefox-ui/tests/functional/keyboard_shortcuts/test_browser_window.py')
-rw-r--r--testing/firefox-ui/tests/functional/keyboard_shortcuts/test_browser_window.py56
1 files changed, 56 insertions, 0 deletions
diff --git a/testing/firefox-ui/tests/functional/keyboard_shortcuts/test_browser_window.py b/testing/firefox-ui/tests/functional/keyboard_shortcuts/test_browser_window.py
new file mode 100644
index 000000000..5b656d0e5
--- /dev/null
+++ b/testing/firefox-ui/tests/functional/keyboard_shortcuts/test_browser_window.py
@@ -0,0 +1,56 @@
+# 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_driver import Wait
+from marionette_harness import MarionetteTestCase
+
+
+class TestBrowserWindowShortcuts(PuppeteerMixin, MarionetteTestCase):
+
+ def test_addons_manager(self):
+ # If an about:xyz page is visible, no new tab will be opened
+ with self.marionette.using_context('content'):
+ self.marionette.navigate('about:')
+
+ # TODO: To be moved to the upcoming add-ons library
+ def opener(tab):
+ tab.window.send_shortcut(tab.window.localize_entity('addons.commandkey'),
+ accel=True, shift=True)
+ self.browser.tabbar.open_tab(opener)
+
+ # TODO: Marionette currently fails to detect the correct tab
+ # with self.marionette.using_content('content'):
+ # self.wait_for_condition(lambda mn: mn.get_url() == "about:addons")
+
+ # TODO: remove extra switch once it is done automatically
+ self.browser.tabbar.tabs[1].switch_to()
+ self.browser.tabbar.close_tab()
+
+ def test_search_field(self):
+ current_name = self.marionette.execute_script("""
+ return window.document.activeElement.localName;
+ """)
+
+ # This doesn't test anything if we're already at input.
+ self.assertNotEqual(current_name, "input")
+
+ # TODO: To be moved to the upcoming search library
+ if self.puppeteer.platform == 'linux':
+ key = 'searchFocusUnix.commandkey'
+ else:
+ key = 'searchFocus.commandkey'
+ self.browser.send_shortcut(self.browser.localize_entity(key),
+ accel=True)
+
+ # TODO: Check that the right input box is focused
+ # Located below searchbar as class="autocomplete-textbox textbox-input"
+ # Anon locator has not been released yet (bug 1080764)
+ def has_input_selected(mn):
+ selection_name = mn.execute_script("""
+ return window.document.activeElement.localName;
+ """)
+ return selection_name == "input"
+
+ Wait(self.marionette).until(has_input_selected)