зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1529938 - [marionette] Tests for screen orientation change have to wait for the change happened. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D22156 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
52fd03bbb5
Коммит
7ef4f21bc7
|
@ -5,9 +5,13 @@
|
|||
from __future__ import absolute_import
|
||||
|
||||
from marionette_driver import errors
|
||||
from mozrunner.devices.emulator_screen import EmulatorScreen
|
||||
|
||||
from marionette_harness import MarionetteTestCase, skip_if_desktop, skip_if_mobile
|
||||
from marionette_driver.wait import Wait
|
||||
from marionette_harness import (
|
||||
MarionetteTestCase,
|
||||
parameterized,
|
||||
skip_if_desktop,
|
||||
skip_if_mobile,
|
||||
)
|
||||
|
||||
|
||||
default_orientation = "portrait-primary"
|
||||
|
@ -15,6 +19,7 @@ unknown_orientation = "Unknown screen orientation: {}"
|
|||
|
||||
|
||||
class TestScreenOrientation(MarionetteTestCase):
|
||||
|
||||
def setUp(self):
|
||||
MarionetteTestCase.setUp(self)
|
||||
self.is_mobile = self.marionette.session_capabilities.get("rotatable", False)
|
||||
|
@ -22,64 +27,52 @@ class TestScreenOrientation(MarionetteTestCase):
|
|||
def tearDown(self):
|
||||
if self.is_mobile:
|
||||
self.marionette.set_orientation(default_orientation)
|
||||
self.assertEqual(self.marionette.orientation, default_orientation, "invalid state")
|
||||
self.wait_for_orientation(default_orientation)
|
||||
MarionetteTestCase.tearDown(self)
|
||||
|
||||
@skip_if_desktop("Not supported in Firefox")
|
||||
def test_set_orientation_to_portrait_primary(self):
|
||||
self.marionette.set_orientation("portrait-primary")
|
||||
new_orientation = self.marionette.orientation
|
||||
self.assertEqual(new_orientation, "portrait-primary")
|
||||
def wait_for_orientation(self, orientation, timeout=None):
|
||||
Wait(self.marionette, timeout=timeout).until(
|
||||
lambda _: self.marionette.orientation == orientation)
|
||||
|
||||
@skip_if_desktop("Not supported in Firefox")
|
||||
def test_set_orientation_to_landscape_primary(self):
|
||||
self.marionette.set_orientation("landscape-primary")
|
||||
new_orientation = self.marionette.orientation
|
||||
self.assertEqual(new_orientation, "landscape-primary")
|
||||
|
||||
@skip_if_desktop("Not supported in Firefox")
|
||||
def test_set_orientation_to_portrait_secondary(self):
|
||||
self.marionette.set_orientation("portrait-secondary")
|
||||
new_orientation = self.marionette.orientation
|
||||
self.assertEqual(new_orientation, "portrait-secondary")
|
||||
|
||||
@skip_if_desktop("Not supported in Firefox")
|
||||
def test_set_orientation_to_landscape_secondary(self):
|
||||
self.marionette.set_orientation("landscape-secondary")
|
||||
new_orientation = self.marionette.orientation
|
||||
self.assertEqual(new_orientation, "landscape-secondary")
|
||||
@parameterized("landscape-primary", "landscape-primary")
|
||||
@parameterized("landscape-secondary", "landscape-secondary")
|
||||
@parameterized("portrait-primary", "portrait-primary")
|
||||
@parameterized("portrait-secondary", "portrait-secondary")
|
||||
def test_set_orientation(self, orientation):
|
||||
self.marionette.set_orientation(orientation)
|
||||
self.wait_for_orientation(orientation)
|
||||
|
||||
@skip_if_desktop("Not supported in Firefox")
|
||||
def test_set_orientation_to_shorthand_portrait(self):
|
||||
# Set orientation to something other than portrait-primary first, since the default is
|
||||
# portrait-primary.
|
||||
# Set orientation to something other than portrait-primary first,
|
||||
# since the default is portrait-primary.
|
||||
self.marionette.set_orientation("landscape-primary")
|
||||
self.assertEqual(self.marionette.orientation, "landscape-primary", "invalid state")
|
||||
self.wait_for_orientation("landscape-primary")
|
||||
|
||||
self.marionette.set_orientation("portrait")
|
||||
new_orientation = self.marionette.orientation
|
||||
self.assertEqual(new_orientation, "portrait-primary")
|
||||
self.wait_for_orientation("portrait-primary")
|
||||
|
||||
@skip_if_desktop("Not supported in Firefox")
|
||||
def test_set_orientation_to_shorthand_landscape(self):
|
||||
self.marionette.set_orientation("landscape")
|
||||
new_orientation = self.marionette.orientation
|
||||
self.assertEqual(new_orientation, "landscape-primary")
|
||||
self.wait_for_orientation("landscape-primary")
|
||||
|
||||
@skip_if_desktop("Not supported in Firefox")
|
||||
def test_set_orientation_with_mixed_casing(self):
|
||||
self.marionette.set_orientation("lAnDsCaPe")
|
||||
new_orientation = self.marionette.orientation
|
||||
self.assertEqual(new_orientation, "landscape-primary")
|
||||
self.wait_for_orientation("landscape-primary")
|
||||
|
||||
@skip_if_desktop("Not supported in Firefox")
|
||||
def test_set_invalid_orientation(self):
|
||||
with self.assertRaisesRegexp(errors.MarionetteException, unknown_orientation.format("cheese")):
|
||||
with self.assertRaisesRegexp(errors.MarionetteException,
|
||||
unknown_orientation.format("cheese")):
|
||||
self.marionette.set_orientation("cheese")
|
||||
|
||||
@skip_if_desktop("Not supported in Firefox")
|
||||
def test_set_null_orientation(self):
|
||||
with self.assertRaisesRegexp(errors.MarionetteException, unknown_orientation.format("null")):
|
||||
with self.assertRaisesRegexp(errors.MarionetteException,
|
||||
unknown_orientation.format("null")):
|
||||
self.marionette.set_orientation(None)
|
||||
|
||||
@skip_if_mobile("Specific test for Firefox")
|
||||
|
|
Загрузка…
Ссылка в новой задаче