browser/devtools/tilt/test/browser_tilt_math07.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/browser/devtools/tilt/test/browser_tilt_math07.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,49 @@
     1.4 +/* Any copyright is dedicated to the Public Domain.
     1.5 +   http://creativecommons.org/publicdomain/zero/1.0/ */
     1.6 +"use strict";
     1.7 +
     1.8 +function test() {
     1.9 +  let q1 = quat4.create([1, 2, 3, 4]);
    1.10 +  let q2 = quat4.create([5, 6, 7, 8]);
    1.11 +
    1.12 +  quat4.multiply(q1, q2);
    1.13 +  ok(isApproxVec(q1, [24, 48, 48, -6]),
    1.14 +    "The quat4.multiply() function didn't set the values correctly.");
    1.15 +
    1.16 +  let v1 = quat4.multiplyVec3(q1, [9, 9, 9]);
    1.17 +  ok(isApproxVec(v1, [5508, 54756, 59940]),
    1.18 +    "The quat4.multiplyVec3() function didn't set the values correctly.");
    1.19 +
    1.20 +  let m1 = quat4.toMat3(q1);
    1.21 +  ok(isApproxVec(m1, [
    1.22 +    -9215, 2880, 1728, 1728, -5759, 4896, 2880, 4320, -5759
    1.23 +  ]), "The quat4.toMat3() function didn't set the values correctly.");
    1.24 +
    1.25 +  let m2 = quat4.toMat4(q1);
    1.26 +  ok(isApproxVec(m2, [
    1.27 +    -9215, 2880, 1728, 0, 1728, -5759, 4896, 0,
    1.28 +    2880, 4320, -5759, 0, 0, 0, 0, 1
    1.29 +  ]), "The quat4.toMat4() function didn't set the values correctly.");
    1.30 +
    1.31 +  quat4.calculateW(q1);
    1.32 +  quat4.calculateW(q2);
    1.33 +  quat4.slerp(q1, q2, 0.5);
    1.34 +  ok(isApproxVec(q1, [24, 48, 48, -71.99305725097656]),
    1.35 +    "The quat4.slerp() function didn't set the values correctly.");
    1.36 +
    1.37 +  let q3 = quat4.fromAxis([1, 1, 1], 0.5);
    1.38 +  ok(isApproxVec(q3, [
    1.39 +    0.24740396440029144, 0.24740396440029144, 0.24740396440029144,
    1.40 +    0.9689124226570129
    1.41 +  ]), "The quat4.fromAxis() function didn't compute the values correctly.");
    1.42 +
    1.43 +  let q4 = quat4.fromEuler(0.5, 0.75, 1.25);
    1.44 +  ok(isApproxVec(q4, [
    1.45 +    0.15310347080230713, 0.39433568716049194,
    1.46 +    0.4540249705314636, 0.7841683626174927
    1.47 +  ]), "The quat4.fromEuler() function didn't compute the values correctly.");
    1.48 +
    1.49 +
    1.50 +  is(quat4.str([1, 2, 3, 4]), "[1, 2, 3, 4]",
    1.51 +    "The quat4.str() function didn't work properly.");
    1.52 +}

mercurial