dom/bluetooth/tests/marionette/test_dom_BluetoothAdapter_setters.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:ad33b12933c2
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/. */
6
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 ///////////////////////////////////////////////////////////////////////////////
18
19 MARIONETTE_TIMEOUT = 60000;
20 MARIONETTE_HEAD_JS = 'head.js';
21
22 const BT_DEVICE_NAME = "User friendly name of local BT device";
23
24 function setName(aAdapter, aName) {
25 let deferred = Promise.defer();
26
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 }
37
38 return deferred.promise;
39 }
40
41 function setDiscoverable(aAdapter, aIsDiscoverable) {
42 let deferred = Promise.defer();
43
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 }
54
55 return deferred.promise;
56 }
57
58 function setDiscoverableTimeout(aAdapter, aTimeout) {
59 let deferred = Promise.defer();
60
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 }
71
72 return deferred.promise;
73 }
74
75 startBluetoothTest(true, function testCaseMain(aAdapter) {
76 log("Testing BluetoothAdapter setters ...");
77
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