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 +}