Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
michael@0 | 1 | /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- |
michael@0 | 2 | * vim: sw=2 ts=2 sts=2 et filetype=javascript |
michael@0 | 3 | * This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this file, |
michael@0 | 5 | * You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 6 | |
michael@0 | 7 | /////////////////////////////////////////////////////////////////////////////// |
michael@0 | 8 | // Test Purpose: |
michael@0 | 9 | // To verify that discovery process of BluetoothAdapter is correct. |
michael@0 | 10 | // Use B2G emulator commands to add/remote remote devices to simulate |
michael@0 | 11 | // discovering behavior. |
michael@0 | 12 | // |
michael@0 | 13 | // Test Coverage: |
michael@0 | 14 | // - BluetoothAdapter.startDiscovery() |
michael@0 | 15 | // - BluetoothAdapter.stopDiscovery() |
michael@0 | 16 | // - BluetoothAdapter.ondevicefound() |
michael@0 | 17 | // - BluetoothAdapter.discovering [Temporarily turned off until BT API update] |
michael@0 | 18 | // |
michael@0 | 19 | /////////////////////////////////////////////////////////////////////////////// |
michael@0 | 20 | |
michael@0 | 21 | MARIONETTE_TIMEOUT = 60000; |
michael@0 | 22 | MARIONETTE_HEAD_JS = 'head.js'; |
michael@0 | 23 | |
michael@0 | 24 | startBluetoothTest(true, function testCaseMain(aAdapter) { |
michael@0 | 25 | log("Testing the discovery process of BluetoothAdapter ..."); |
michael@0 | 26 | |
michael@0 | 27 | // The properties of remote device. |
michael@0 | 28 | let theProperties = { |
michael@0 | 29 | "name": REMOTE_DEVICE_NAME, |
michael@0 | 30 | "discoverable": true |
michael@0 | 31 | }; |
michael@0 | 32 | |
michael@0 | 33 | return Promise.resolve() |
michael@0 | 34 | .then(() => removeEmulatorRemoteDevice(BDADDR_ALL)) |
michael@0 | 35 | .then(() => addEmulatorRemoteDevice(/*theProperties*/ null)) |
michael@0 | 36 | .then(function(aRemoteAddress) { |
michael@0 | 37 | let promises = []; |
michael@0 | 38 | promises.push(waitForAdapterEvent(aAdapter, "devicefound")); |
michael@0 | 39 | promises.push(startDiscovery(aAdapter)); |
michael@0 | 40 | return Promise.all(promises) |
michael@0 | 41 | .then(function(aResults) { |
michael@0 | 42 | is(aResults[0].device.address, aRemoteAddress, "BluetoothDevice.address"); |
michael@0 | 43 | }); |
michael@0 | 44 | }) |
michael@0 | 45 | .then(() => stopDiscovery(aAdapter)) |
michael@0 | 46 | .then(() => removeEmulatorRemoteDevice(BDADDR_ALL)); |
michael@0 | 47 | }); |