https://github.com/web-platform-tests/wpt
Raw File
Tip revision: fe38104efc1fefb450302f42f157855f579d174c authored by Lan Wei on 15 December 2018, 01:20:34 UTC
Support multiple mouse pointers inputs
Tip revision: fe38104
xrSession_requestFrameOfReference.https.html
<!DOCTYPE html>
<body>
  <script src=/resources/testharness.js></script>
  <script src=/resources/testharnessreport.js></script>
  <script src="resources/webxr_util.js"></script>
  <canvas></canvas>
  <script>

    let immersiveTestName =
      "Immersive XRSession requestFrameOfReference returns expected objects";
    let nonImmersiveTestName =
      "Non-immersive XRSession requestFrameOfReference returns expected objects";

    let fakeDeviceInitParams = { supportsImmersive: true };

    let immersiveSessionOptions = { immersive: true };
    let nonImmersiveSessionOptions = { outputContext: getOutputContext() };

    let testFunction = function(session, fakeDeviceController, t) {
      return promise_rejects(t, new TypeError(), session.requestFrameOfReference("foo"))
        .then(() => Promise.all([
          session.requestFrameOfReference("head-model").then( (frameOfRef) => {
            assert_true(frameOfRef instanceof XRCoordinateSystem,
              "head-model frameOfRef is not correct type.");
            assert_true(frameOfRef instanceof XRFrameOfReference,
              "head-model frameOfRef is not correct type.");
          }),
          session.requestFrameOfReference("eye-level").then( (frameOfRef) => {
            assert_true(frameOfRef instanceof XRCoordinateSystem,
              "eye-level frameOfRef is not correct type.");
            assert_true(frameOfRef instanceof XRFrameOfReference,
              "eye-level frameOfRef is not correct type.");
          }),
          session.requestFrameOfReference("stage").then( (frameOfRef) => {
            assert_true(frameOfRef instanceof XRCoordinateSystem,
              "stage frameOfRef is not correct type.");
            assert_true(frameOfRef instanceof XRFrameOfReference,
              "stage frameOfRef is not correct type.");
          })
      ]));
    };

    xr_session_promise_test(
      immersiveTestName, testFunction, fakeDeviceInitParams, immersiveSessionOptions);
    xr_session_promise_test(
      nonImmersiveTestName, testFunction, fakeDeviceInitParams, nonImmersiveSessionOptions);

  </script>
</body>
back to top