<!doctype html>
<html>
<head>
<title>Test navigator.mediaDevices.getSupportedConstraints()</title>
<link rel="help" href="https://w3c.github.io/mediacapture-main/#enumerating-devices">
<meta name='assert' content='Test the getSupportedConstraints() method.'/>
</head>
<body>
<h1 class="instructions">Description</h1>
<p class="instructions">This test checks for the presence of the
<code>navigator.mediaDevices.getSupportedConstraints()</code> method.</p>
<div id='log'></div>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script>
"use strict";
test(() => {
  assert_inherits(navigator.mediaDevices, "getSupportedConstraints");
  assert_equals(typeof navigator.mediaDevices.getSupportedConstraints, "function");
}, "navigator.mediaDevices.getSupportedConstraints exists");

{
  const properties = [
    "width",
    "height",
    "aspectRatio",
    "frameRate",
    "facingMode",
    "resizeMode",
    "sampleRate",
    "sampleSize",
    "echoCancellation",
    "autoGainControl",
    "noiseSuppression",
    "latency",
    "channelCount",
    "deviceId",
    "groupId"];
  properties.forEach(property => {
    test(()=>{
      const supportedConstraints = navigator.mediaDevices.getSupportedConstraints();
      assert_true(supportedConstraints[property]);
    }, property + " is supported");
  });
}
</script>
</body>
</html>
