<!DOCTYPE html>
<body>
  <script src=/resources/testharness.js></script>
  <script src=/resources/testharnessreport.js></script>
  <script src="resources/webxr_util.js"></script>
  <script src="resources/webxr_test_constants.js"></script>
  <script>
    xr_session_promise_test(
      "Tests requestSession accepts XRSessionInit dictionary",
      (session) => {
        assert_not_equals(session, null);
      }, TRACKED_IMMERSIVE_DEVICE, 'immersive-vr', {});

    xr_session_promise_test(
      "Tests requestSession accepts XRSessionInit dictionary with empty feature lists",
      (session) => {
        assert_not_equals(session, null);
      }, TRACKED_IMMERSIVE_DEVICE, 'immersive-vr', {requiredFeatures: [], optionalFeatures: []});

    xr_session_promise_test(
      "Tests requestSession ignores unknown strings in optionalFeatures",
      (session) => {
        assert_not_equals(session, null);
      }, TRACKED_IMMERSIVE_DEVICE, 'immersive-vr', {optionalFeatures: ['unicorns']});

    xr_session_promise_test(
      "Tests requestSession ignores unknown objects in optionalFeatures",
      (session) => {
        assert_not_equals(session, null);
      }, TRACKED_IMMERSIVE_DEVICE, 'immersive-vr', {optionalFeatures: [{ unicorns: "please" }]});
  </script>
</body>
