Bug 1353074 - Run wrappedJSObject execute script tests in all sandboxes; r=maja_zf
MozReview-Commit-ID: 5u2u5alGb7Z
--- a/testing/marionette/harness/marionette_harness/tests/unit/test_execute_script.py
+++ b/testing/marionette/harness/marionette_harness/tests/unit/test_execute_script.py
@@ -205,31 +205,44 @@ class TestExecuteContent(MarionetteTestC
"return global.barfoo;", new_sandbox=False), [42, 23])
def test_sandbox_refresh_arguments(self):
self.marionette.execute_script(
"this.foobar = [arguments[0], arguments[1]]", [23, 42])
self.assertEqual(self.marionette.execute_script(
"return this.foobar", new_sandbox=False), [23, 42])
- def test_wrappedjsobject(self):
+ def test_mutable_sandbox_wrappedjsobject(self):
+ self.assert_is_defined("window.wrappedJSObject")
+ with self.assertRaises(errors.JavascriptException):
+ self.marionette.execute_script("window.wrappedJSObject.foo = 1", sandbox=None)
+
+ def test_default_sandbox_wrappedjsobject(self):
+ self.assert_is_defined("window.wrappedJSObject", sandbox="default")
+
try:
- self.marionette.execute_script("window.wrappedJSObject.foo = 3")
- self.assertEqual(
- self.marionette.execute_script("return window.wrappedJSObject.foo"), 3)
+ self.marionette.execute_script(
+ "window.wrappedJSObject.foo = 4", sandbox="default")
+ self.assertEqual(self.marionette.execute_script(
+ "return window.wrappedJSObject.foo", sandbox="default"), 4)
finally:
- self.marionette.execute_script("delete window.wrappedJSObject.foo")
+ self.marionette.execute_script(
+ "delete window.wrappedJSObject.foo", sandbox="default")
def test_system_sandbox_wrappedjsobject(self):
+ self.assert_is_defined("window.wrappedJSObject", sandbox="system")
+
self.marionette.execute_script(
"window.wrappedJSObject.foo = 4", sandbox="system")
self.assertEqual(self.marionette.execute_script(
"return window.wrappedJSObject.foo", sandbox="system"), 4)
def test_system_dead_object(self):
+ self.assert_is_defined("window.wrappedJSObject", sandbox="system")
+
self.marionette.execute_script(
"window.wrappedJSObject.foo = function() { return 'yo' }",
sandbox="system")
self.marionette.execute_script(
"dump(window.wrappedJSObject.foo)", sandbox="system")
self.marionette.execute_script(
"window.wrappedJSObject.foo = function() { return 'yolo' }",
@@ -369,17 +382,23 @@ class TestExecuteChrome(WindowManagerMix
pass
def test_return_web_element_nodelist(self):
pass
def test_window_set_timeout_is_not_cancelled(self):
pass
- def test_privileged_code_inspection(self):
+ def test_mutable_sandbox_wrappedjsobject(self):
+ pass
+
+ def test_default_sandbox_wrappedjsobject(self):
+ pass
+
+ def test_system_sandbox_wrappedjsobject(self):
pass
def test_access_chrome_objects_in_event_listeners(self):
pass
class TestElementCollections(MarionetteTestCase):