Index: third_party/WebKit/LayoutTests/bluetooth/requestDevice/canonicalizeFilter/wrong-service-in-optionalServices-member.html |
diff --git a/third_party/WebKit/LayoutTests/bluetooth/requestDevice/canonicalizeFilter/wrong-service-in-optionalServices-member.html b/third_party/WebKit/LayoutTests/bluetooth/requestDevice/canonicalizeFilter/wrong-service-in-optionalServices-member.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..df7850e9a0b397122346dd8d4ce671b039e1c217 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/bluetooth/requestDevice/canonicalizeFilter/wrong-service-in-optionalServices-member.html |
@@ -0,0 +1,45 @@ |
+<!DOCTYPE html> |
+<script src="../../../resources/testharness.js"></script> |
+<script src="../../../resources/testharness-helpers.js"></script> |
+<script src="../../../resources/testharnessreport.js"></script> |
+<script src="../../../resources/bluetooth/bluetooth-helpers.js"></script> |
+<script> |
+'use strict'; |
+ |
+let test_specs = [{ |
+ optionalServices: ['wrong_service'], |
+ filters: [{services: ['heart_rate']}] |
+}, { |
+ optionalServices: ['wrong_service'], |
+ filters: [{ services: ['heart_rate'], name: 'Name'}] |
+}, { |
+ optionalServices: ['wrong_service'], |
+ filters: [{ services: ['heart_rate'], namePrefix: 'Pre'}] |
+}, { |
+ optionalServices: ['wrong_service'], |
+ filters: [{ services: ['heart_rate'], name: 'Name', namePrefix: 'Pre'}] |
+}, { |
+ optionalServices: ['wrong_service'], |
+ filters: [{ name: 'Name'}] |
+}, { |
+ optionalServices: ['wrong_service'], |
+ filters: [{ name: 'Name', namePrefix: 'Pre'}] |
+}, { |
+ optionalServices: ['wrong_service'], |
+ filters: [{ namePrefix: 'Pre'}] |
+}]; |
+ |
+promise_test(() => { |
+ return setBluetoothFakeAdapter('EmptyAdapter') |
+ .then(() => { |
+ let test_promises = Promise.resolve(); |
+ test_specs.forEach(args => { |
+ test_promises = test_promises |
+ .then(() => assert_promise_rejects( |
+ requestDeviceWithKeyDown(args), |
+ new SyntaxError())); |
+ }); |
+ return test_promises; |
+ }); |
+}, 'Invalid optional service must reject the promise.'); |
+</script> |