mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 21:05:36 +00:00
Bug 1391691 - Make WebDriver:FullscreenWindow idempotent. r=automatedtester
MozReview-Commit-ID: 4AQlYYNV03f --HG-- extra : rebase_source : 2b4c8bb55292665925411025e952367f1af27123
This commit is contained in:
parent
a4b0685950
commit
657e3f287d
@ -3150,10 +3150,13 @@ GeckoDriver.prototype.fullscreenWindow = async function(cmd, resp) {
|
||||
const win = assert.window(this.getCurrentWindow());
|
||||
assert.noUserPrompt(this.dialog);
|
||||
|
||||
await new Promise(resolve => {
|
||||
win.addEventListener("sizemodechange", resolve, {once: true});
|
||||
win.fullScreen = !win.fullScreen;
|
||||
});
|
||||
let state = WindowState.from(win.windowState);
|
||||
if (state != WindowState.Fullscreen) {
|
||||
await new Promise(resolve => {
|
||||
win.addEventListener("sizemodechange", resolve, {once: true});
|
||||
win.fullScreen = true;
|
||||
});
|
||||
}
|
||||
|
||||
return this.curBrowser.rect;
|
||||
};
|
||||
|
@ -30,14 +30,14 @@ class TestWindowFullscreen(MarionetteTestCase):
|
||||
self.marionette.fullscreen()
|
||||
|
||||
def assert_window_fullscreen(self, actual):
|
||||
self.assertGreater(actual["width"], self.max["width"])
|
||||
self.assertGreater(actual["height"], self.max["height"])
|
||||
self.assertTrue(self.marionette.execute_script("""
|
||||
return window.fullScreen;""", sandbox=None))
|
||||
self.assertTrue(self.marionette.execute_script(
|
||||
"return window.fullScreen", sandbox=None))
|
||||
|
||||
def assert_window_restored(self, actual):
|
||||
self.assertEqual(self.original_size["width"], actual["width"])
|
||||
self.assertEqual(self.original_size["height"], actual["height"])
|
||||
self.assertFalse(self.marionette.execute_script(
|
||||
"return window.fullScreen", sandbox=None))
|
||||
|
||||
def assert_window_rect(self, rect):
|
||||
self.assertIn("width", rect)
|
||||
@ -56,9 +56,6 @@ class TestWindowFullscreen(MarionetteTestCase):
|
||||
self.assertEqual(size, rect)
|
||||
self.assert_window_fullscreen(size)
|
||||
|
||||
def test_fullscreen_twice_restores(self):
|
||||
fullscreen = self.marionette.fullscreen()
|
||||
self.assert_window_fullscreen(fullscreen)
|
||||
|
||||
restored = self.marionette.fullscreen()
|
||||
self.assert_window_restored(restored)
|
||||
def test_fullscreen_twice_is_idempotent(self):
|
||||
self.assert_window_fullscreen(self.marionette.fullscreen())
|
||||
self.assert_window_fullscreen(self.marionette.fullscreen())
|
||||
|
@ -188,11 +188,13 @@ def test_payload(session):
|
||||
assert isinstance(rect["y"], (int, float))
|
||||
|
||||
|
||||
def test_exit_fullscreen_on_second_call(session):
|
||||
def test_fullscreen_twice_is_idempotent(session):
|
||||
assert session.execute_script("return window.fullScreen") is False
|
||||
|
||||
first_response = fullscreen(session)
|
||||
assert_success(first_response)
|
||||
assert session.execute_script("return window.fullScreen") == True
|
||||
assert session.execute_script("return window.fullScreen") is True
|
||||
|
||||
second_response = fullscreen(session)
|
||||
assert_success(second_response)
|
||||
assert session.execute_script("return window.fullScreen") == False
|
||||
assert session.execute_script("return window.fullScreen") is True
|
||||
|
Loading…
Reference in New Issue
Block a user