Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / test / data / extensions / api_test / bluetooth_low_energy / get_service / runtest.js
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 function testGetService() {
6   chrome.test.assertTrue(service != null);
7
8   chrome.test.assertEq(serviceId, service.instanceId);
9   chrome.test.assertEq('00001234-0000-1000-8000-00805f9b34fb', service.uuid);
10   chrome.test.assertEq(true , service.isPrimary);
11   chrome.test.assertEq(false, service.isLocal);
12   chrome.test.assertEq(deviceAddress, service.deviceAddress);
13
14   chrome.test.succeed();
15 }
16
17 var deviceAddress = '11:22:33:44:55:66'
18 var serviceId = 'service_id0';
19 var badServiceId = 'service_id1';
20
21 var service = null;
22
23 function failOnError() {
24   if (chrome.runtime.lastError) {
25     chrome.test.fail(chrome.runtime.lastError.message);
26   }
27 }
28
29 // 1. Unknown service instanceId.
30 chrome.bluetoothLowEnergy.getService(badServiceId, function(result) {
31   if (result || !chrome.runtime.lastError) {
32     chrome.test.fail('Unexpected service.');
33   }
34
35   // 2. Known service instanceId, but the mapped device is unknown.
36   chrome.bluetoothLowEnergy.getService(serviceId, function(result) {
37     if (result || !chrome.runtime.lastError) {
38       chrome.test.fail('Unexpected service.');
39     }
40
41     // 3. Known service instanceId, but the mapped device does not know about
42     // the service.
43     chrome.bluetoothLowEnergy.getService(serviceId, function(result) {
44       if (result || !chrome.runtime.lastError) {
45         chrome.test.fail('Unexpected service.');
46       }
47
48       // 4. Success.
49       chrome.bluetoothLowEnergy.getService(serviceId, function(result) {
50         failOnError();
51         service = result;
52
53         chrome.test.sendMessage('ready', function(message) {
54           chrome.test.runTests([testGetService]);
55         });
56       });
57     });
58   });
59 });