https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 85f064aac43a66ea301553d6873a499aab3cf340 authored by Marcos Cáceres on 21 March 2018, 02:45:39 UTC
Edge doesn't do object spread yet
Tip revision: 85f064a
filter-matches.https.html
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="/bluetooth/resources/bluetooth-helpers.js"></script>
<script>
'use strict';
const test_desc = 'Matches a filter if all present members match.';
let matching_services = [health_thermometer.uuid];
let matching_name = 'Health Thermometer';
let matching_namePrefix = 'Health';

let test_specs = [{
  filters: [{
    services: matching_services,
  }]
}, {
  filters: [{
    services: matching_services,
    name: matching_name,
  }]
}, {
  filters: [{
    services: matching_services,
    namePrefix: matching_namePrefix
  }]
}, {
  filters: [{
    name: matching_name,
  }],
  optionalServices: matching_services
}, {
  filters: [{
    name: matching_name,
    namePrefix: matching_namePrefix
  }],
  optionalServices: matching_services
}, {
  filters: [{
    namePrefix: matching_namePrefix
  }],
  optionalServices: matching_services
}, {
  filters: [{
    services: matching_services,
    name: matching_name,
    namePrefix: matching_namePrefix
  }]
}];

bluetooth_test(() => setUpHealthThermometerDevice()
    .then(() => {
      let test_promises = Promise.resolve();
      test_specs.forEach(args => {
        test_promises = test_promises
            .then(() => requestDeviceWithTrustedClick(args))
            .then(device => {
              // We always have access to the services in matching_services
              // because we include them in a filter or in optionalServices.
              assert_equals(device.name, matching_name);
              assert_true(device.name.startsWith(matching_namePrefix));
            });
      });
      return test_promises;
    }), test_desc);
</script>
back to top