mirror of
https://github.com/servo/servo.git
synced 2025-07-19 13:23:46 +01:00
49 lines
No EOL
2.1 KiB
HTML
49 lines
No EOL
2.1 KiB
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> |