dom/bluetooth/tests/marionette/test_dom_BluetoothAdapter_setters.js

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
     2  * vim: sw=2 ts=2 sts=2 et filetype=javascript
     3  * This Source Code Form is subject to the terms of the Mozilla Public
     4  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
     5  * You can obtain one at http://mozilla.org/MPL/2.0/. */
     7 ///////////////////////////////////////////////////////////////////////////////
     8 // Test Purpose:
     9 //   To verify that all setters of BluetoothAdapter (except for pairing related
    10 //   APIs) can change properties correctly.
    11 //
    12 // Test Coverage:
    13 //   - BluetoothAdapter.setName()
    14 //   - BluetoothAdapter.setDiscoverable()
    15 //   - BluetoothAdapter.setDiscoverableTimeout()
    16 //
    17 ///////////////////////////////////////////////////////////////////////////////
    19 MARIONETTE_TIMEOUT = 60000;
    20 MARIONETTE_HEAD_JS = 'head.js';
    22 const BT_DEVICE_NAME = "User friendly name of local BT device";
    24 function setName(aAdapter, aName) {
    25   let deferred = Promise.defer();
    27   let request = aAdapter.setName(aName);
    28   request.onsuccess = function () {
    29     log("  setName succeed: " + aName);
    30     is(aAdapter.name, aName, "aAdapter.name");
    31     deferred.resolve();
    32   }
    33   request.onerror = function () {
    34     ok(false, "setName failed")
    35     deferred.reject();
    36   }
    38   return deferred.promise;
    39 }
    41 function setDiscoverable(aAdapter, aIsDiscoverable) {
    42   let deferred = Promise.defer();
    44   let request = aAdapter.setDiscoverable(aIsDiscoverable);
    45   request.onsuccess = function () {
    46     log("  setDiscoverable succeed: " + aIsDiscoverable);
    47     is(aAdapter.discoverable, aIsDiscoverable, "aAdapter.discoverable");
    48     deferred.resolve();
    49   }
    50   request.onerror = function () {
    51     ok(false, "setDiscoverable failed")
    52     deferred.reject();
    53   }
    55   return deferred.promise;
    56 }
    58 function setDiscoverableTimeout(aAdapter, aTimeout) {
    59   let deferred = Promise.defer();
    61   let request = aAdapter.setDiscoverableTimeout(aTimeout);
    62   request.onsuccess = function () {
    63     log("  setDiscoverableTimeout succeed: " + aTimeout);
    64     is(aAdapter.discoverableTimeout, aTimeout, "aAdapter.discoverableTimeout");
    65     deferred.resolve();
    66   }
    67   request.onerror = function () {
    68     ok(false, "setDiscoverableTimeout failed")
    69     deferred.reject();
    70   }
    72   return deferred.promise;
    73 }
    75 startBluetoothTest(true, function testCaseMain(aAdapter) {
    76   log("Testing BluetoothAdapter setters ...");
    78   return Promise.resolve()
    79     .then( () => setName(aAdapter, BT_DEVICE_NAME) )
    80     .then( () => setDiscoverableTimeout(aAdapter, 180) )
    81     .then( () => setDiscoverable(aAdapter, true) )
    82     .then( () => setName(aAdapter, EMULATOR_NAME) )
    83     .then( () => setDiscoverable(aAdapter, false) )
    84     .then( () => setDiscoverableTimeout(aAdapter, 120) );
    85 });

mercurial