dom/mobilemessage/tests/marionette/test_between_emulators.py

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 from marionette_test import *
     4 class SMSTest(MarionetteTestCase):
     6     @unittest.expectedFailure
     7     def test_sms_between_emulators(self):
     8         # Tests always have one emulator available as self.marionette; we'll
     9         # use this for the receiving emulator.  We'll also launch a second
    10         # emulator to use as the sender.
    11         sender = self.get_new_emulator()
    12         receiver = self.marionette
    14         self.set_up_test_page(sender, "test.html", ["sms"])
    15         self.set_up_test_page(receiver, "test.html", ["sms"])
    17         # Setup the event listsener on the receiver, which should store
    18         # a global variable when an SMS is received.
    19         message = 'hello world!'
    20         self.assertTrue(receiver.execute_script("return window.navigator.mozMobileMessage != null;"))
    21         receiver.execute_script("""
    22 global.smsreceived = null;
    23 window.navigator.mozMobileMessage.addEventListener("received", function(e) {
    24     global.smsreceived = e.message.body;
    25 });
    26 """, new_sandbox=False)
    28         # Send the SMS from the sender.
    29         sender.execute_script("""
    30 window.navigator.mozMobileMessage.send("%d", "%s");
    31 """ % (receiver.emulator.port, message))
    33         # On the receiver, wait up to 10s for an SMS to be received, by 
    34         # checking the value of the global var that the listener will change.
    35         receiver.set_script_timeout(0) # TODO no timeout for now since the test fails
    36         received = receiver.execute_async_script("""
    37         waitFor(function () {
    38             marionetteScriptFinished(global.smsreceived);
    39         }, function () {
    40             return global.smsreceived
    41         });
    42         """, new_sandbox=False)
    43         self.assertEqual(received, message)

mercurial