40 lines
1.4 KiB
HTML
40 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<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>
|
|
|
|
let testName = "XRRigidTransform position and orientation meet [SameObject] requirements";
|
|
|
|
// xrRigidTransform_inverse.https.html already checks [SameObject] requirement
|
|
// for XRRigidTransform.inverse. It's in a separate test because there are
|
|
// additional constraints around how the inverse attribute should work besides
|
|
// just [SameObject].
|
|
|
|
let testFunction =
|
|
(session, fakeDeviceController, t) => new Promise((resolve, reject) => {
|
|
|
|
let transform = new XRRigidTransform(
|
|
{ x: -9.0, y: 8.0, z: -7.0 },
|
|
{ x: 6.0, y: -5.0, z: 4.0, w: 3.0 });
|
|
|
|
let position = transform.position;
|
|
let orientation = transform.orientation;
|
|
let matrix = transform.matrix;
|
|
t.step(() => {
|
|
assert_equals(position, transform.position,
|
|
"XRRigidTransform.position returns the same object.");
|
|
assert_equals(orientation, transform.orientation,
|
|
"XRRigidTransform.orientation returns the same object.");
|
|
assert_equals(matrix, transform.matrix,
|
|
"XRRigidTransform.matrix returns the same object.");
|
|
});
|
|
|
|
resolve();
|
|
});
|
|
|
|
xr_session_promise_test(testName, testFunction, TRACKED_IMMERSIVE_DEVICE,
|
|
'immersive-vr');
|
|
|
|
</script>
|