dom/system/gonk/tests/test_ril_worker_cw.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* Any copyright is dedicated to the Public Domain.
     2    http://creativecommons.org/publicdomain/zero/1.0/ */
     4 subscriptLoader.loadSubScript("resource://gre/modules/ril_consts.js", this);
     6 function run_test() {
     7   run_next_test();
     8 }
    10 function _getWorker() {
    11   let _postedMessage;
    12   let _worker = newWorker({
    13     postRILMessage: function(data) {
    14     },
    15     postMessage: function(message) {
    16       _postedMessage = message;
    17     }
    18   });
    19   return {
    20     get postedMessage() {
    21       return _postedMessage;
    22     },
    23     get worker() {
    24       return _worker;
    25     }
    26   };
    27 }
    29 add_test(function test_setCallWaiting_success() {
    30   let workerHelper = _getWorker();
    31   let worker = workerHelper.worker;
    32   let context = worker.ContextPool._contexts[0];
    34   context.RIL.setCallWaiting = function fakeSetCallWaiting(options) {
    35     context.RIL[REQUEST_SET_CALL_WAITING](0, {
    36       rilRequestError: ERROR_SUCCESS
    37     });
    38   };
    40   context.RIL.setCallWaiting({
    41     enabled: true
    42   });
    44   let postedMessage = workerHelper.postedMessage;
    46   do_check_eq(postedMessage.errorMsg, undefined);
    47   do_check_true(postedMessage.success);
    49   run_next_test();
    50 });
    52 add_test(function test_setCallWaiting_generic_failure() {
    53   let workerHelper = _getWorker();
    54   let worker = workerHelper.worker;
    55   let context = worker.ContextPool._contexts[0];
    57   context.RIL.setCallWaiting = function fakeSetCallWaiting(options) {
    58     context.RIL[REQUEST_SET_CALL_WAITING](0, {
    59       rilRequestError: ERROR_GENERIC_FAILURE
    60     });
    61   };
    63   context.RIL.setCallWaiting({
    64     enabled: true
    65   });
    67   let postedMessage = workerHelper.postedMessage;
    69   do_check_eq(postedMessage.errorMsg, "GenericFailure");
    70   do_check_false(postedMessage.success);
    72   run_next_test();
    73 });
    75 add_test(function test_queryCallWaiting_success_enabled_true() {
    76   let workerHelper = _getWorker();
    77   let worker = workerHelper.worker;
    78   let context = worker.ContextPool._contexts[0];
    80   context.Buf.readInt32 = function fakeReadUint32() {
    81     return context.Buf.int32Array.pop();
    82   };
    84   context.RIL.queryCallWaiting = function fakeQueryCallWaiting(options) {
    85     context.Buf.int32Array = [
    86       1,  // serviceClass
    87       1,  // enabled
    88       1   // length
    89     ];
    90     context.RIL[REQUEST_QUERY_CALL_WAITING](1, {
    91       rilRequestError: ERROR_SUCCESS
    92     });
    93   };
    95   context.RIL.queryCallWaiting({});
    97   let postedMessage = workerHelper.postedMessage;
    99   do_check_eq(postedMessage.errorMsg, undefined);
   100   do_check_true(postedMessage.success);
   101   do_check_eq(postedMessage.length, 1);
   102   do_check_true(postedMessage.enabled);
   103   run_next_test();
   104 });
   106 add_test(function test_queryCallWaiting_success_enabled_false() {
   107   let workerHelper = _getWorker();
   108   let worker = workerHelper.worker;
   109   let context = worker.ContextPool._contexts[0];
   111   context.Buf.readInt32 = function fakeReadUint32() {
   112     return context.Buf.int32Array.pop();
   113   };
   115   context.RIL.queryCallWaiting = function fakeQueryCallWaiting(options) {
   116     context.Buf.int32Array = [
   117       1,  // serviceClass
   118       0,  // enabled
   119       1   // length
   120     ];
   121     context.RIL[REQUEST_QUERY_CALL_WAITING](1, {
   122       rilRequestError: ERROR_SUCCESS
   123     });
   124   };
   126   context.RIL.queryCallWaiting({});
   128   let postedMessage = workerHelper.postedMessage;
   130   do_check_eq(postedMessage.errorMsg, undefined);
   131   do_check_true(postedMessage.success);
   132   do_check_eq(postedMessage.length, 1);
   133   do_check_false(postedMessage.enabled);
   134   run_next_test();
   135 });

mercurial