dom/mobileconnection/tests/marionette/test_call_barring_change_password.js

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.

michael@0 1 /* Any copyright is dedicated to the Public Domain.
michael@0 2 http://creativecommons.org/publicdomain/zero/1.0/ */
michael@0 3
michael@0 4 MARIONETTE_TIMEOUT = 60000;
michael@0 5
michael@0 6 SpecialPowers.addPermission("mobileconnection", true, document);
michael@0 7
michael@0 8 // Permission changes can't change existing Navigator.prototype
michael@0 9 // objects, so grab our objects from a new Navigator
michael@0 10 let ifr = document.createElement("iframe");
michael@0 11 let connection;
michael@0 12 ifr.onload = function() {
michael@0 13 connection = ifr.contentWindow.navigator.mozMobileConnections[0];
michael@0 14
michael@0 15 ok(connection instanceof ifr.contentWindow.MozMobileConnection,
michael@0 16 "connection is instanceof " + connection.constructor);
michael@0 17
michael@0 18 setTimeout(testChangeCallBarringPasswordWithFailure, 0);
michael@0 19 };
michael@0 20 document.body.appendChild(ifr);
michael@0 21
michael@0 22 function testChangeCallBarringPasswordWithFailure() {
michael@0 23 // Incorrect parameters, expect onerror callback.
michael@0 24 let options = [
michael@0 25 {pin: null, newPin: '0000'},
michael@0 26 {pin: '0000', newPin: null},
michael@0 27 {pin: null, newPin: null},
michael@0 28 {pin: '000', newPin: '0000'},
michael@0 29 {pin: '00000', newPin: '1111'},
michael@0 30 {pin: 'abcd', newPin: 'efgh'},
michael@0 31 ];
michael@0 32
michael@0 33 function do_test() {
michael@0 34 for (let i = 0; i < options.length; i++) {
michael@0 35 let request = connection.changeCallBarringPassword(options[i]);
michael@0 36
michael@0 37 request.onsuccess = function() {
michael@0 38 ok(false, 'Unexpected result.');
michael@0 39 setTimeout(cleanUp , 0);
michael@0 40 };
michael@0 41
michael@0 42 request.onerror = function() {
michael@0 43 ok(request.error.name === 'InvalidPassword', 'InvalidPassword');
michael@0 44 if (i >= options.length) {
michael@0 45 setTimeout(testChangeCallBarringPasswordWithSuccess, 0);
michael@0 46 }
michael@0 47 };
michael@0 48 }
michael@0 49 }
michael@0 50
michael@0 51 do_test();
michael@0 52 }
michael@0 53
michael@0 54 function testChangeCallBarringPasswordWithSuccess() {
michael@0 55 // TODO: Bug 906603 - B2G RIL: Support Change Call Barring Password on
michael@0 56 // Emulator.
michael@0 57 setTimeout(cleanUp , 0);
michael@0 58 }
michael@0 59
michael@0 60 function cleanUp() {
michael@0 61 SpecialPowers.removePermission("mobileconnection", document);
michael@0 62 finish();
michael@0 63 }

mercurial