| Index: LayoutTests/bluetooth/getPrimaryService.html
|
| diff --git a/LayoutTests/bluetooth/getPrimaryService.html b/LayoutTests/bluetooth/getPrimaryService.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..aa7b3d821830dbd20ef4aa44038587c4d8f26aaf
|
| --- /dev/null
|
| +++ b/LayoutTests/bluetooth/getPrimaryService.html
|
| @@ -0,0 +1,68 @@
|
| +<!DOCTYPE html>
|
| +<script src="../resources/testharness.js"></script>
|
| +<script src="../resources/testharnessreport.js"></script>
|
| +<script src="bluetooth-helpers.js"></script>
|
| +<script>
|
| +test(function(t) { assert_exists(window, "testRunner"); t.done(); },
|
| + "window.testRunner is required for the following tests.");
|
| +
|
| +var generic_access = "00001800-0000-1000-8000-00805f9b34fb";
|
| +var heart_rate = "0000180D-0000-1000-8000-00805f9b34fb";
|
| +
|
| +sequential_promise_test(function() {
|
| + testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter');
|
| + return navigator.bluetooth.requestDevice().then(function(device) {
|
| + return device.connectGATT();
|
| + }).then(function(gattServer) {
|
| + testRunner.setBluetoothMockDataSet('EmptyAdapter');
|
| + return gattServer.getPrimaryService(generic_access).then(function() {
|
| + assert_unreached('Should return error if device not in adapter.');
|
| + }, function(e) {
|
| + assert_equals(e.name, "NetworkError");
|
| + });
|
| + });
|
| +}, 'Device goes out of range. Reject with NetworkError.');
|
| +
|
| +sequential_promise_test(function() {
|
| + testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter');
|
| + return navigator.bluetooth.requestDevice().then(function(device) {
|
| + return device.connectGATT();
|
| + }).then(function(gattServer) {
|
| + return gattServer.getPrimaryService(heart_rate);
|
| + }).then(function(service) {
|
| + assert_equals(service, null,
|
| + "Non existent services should return null.");
|
| + });
|
| +}, 'Request for wrong service. Should return null.');
|
| +
|
| +sequential_promise_test(function() {
|
| + testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter');
|
| + return navigator.bluetooth.requestDevice().then(function(device) {
|
| + return device.connectGATT();
|
| + }).then(function(gattServer) {
|
| + return gattServer.getPrimaryService(generic_access);
|
| + }).then(function(service) {
|
| + assert_equals(service.uuid, generic_access,
|
| + "Service UUID should be the same as requested UUID.");
|
| + assert_true(service.isPrimary,
|
| + "getPrimaryService should return a primary service.");
|
| + });
|
| +}, 'Request for service. Should return right service');
|
| +
|
| +sequential_promise_test(function() {
|
| + testRunner.setBluetoothMockDataSet('ConnectableDeviceAdapter');
|
| + return navigator.bluetooth.requestDevice().then(function(device) {
|
| + return device.connectGATT();
|
| + }).then(function(gattServer) {
|
| + return Promise.all([gattServer.getPrimaryService(generic_access),
|
| + gattServer.getPrimaryService(generic_access)]);
|
| + }).then(function(services) {
|
| + // getPrimaryService should return the same object if it was created
|
| + // earlier. https://crbug.com/495270
|
| + // TODO(ortuno): Change to assert_equals.
|
| + assert_not_equals(services[0], services[1],
|
| + "Should return the same service as the first call.");
|
| + });
|
| +}, 'Calls to get the same service should return the same object.');
|
| +
|
| +</script>
|
|
|