| <!doctype html> |
| <html> |
| <head> |
| <title>TiltX/TiltY to Azimuth/Altitude</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| </head> |
| <body> |
| <script> |
| if(window.test){ |
| [{tiltX:0,tiltY:0, azimuth:0, altitude:Math.PI/2}, |
| {tiltX:0, tiltY:90, azimuth:Math.PI/2, altitude:0}, |
| {tiltX:0, tiltY:-90, azimuth:3*Math.PI/2, altitude:0}, |
| {tiltX:90,tiltY:0, azimuth:0, altitude:0}, |
| {tiltX:90, tiltY:90, azimuth:0, altitude:0}, |
| {tiltX:90, tiltY:-90, azimuth:0, altitude:0}, |
| {tiltX:-90,tiltY:0, azimuth:Math.PI, altitude:0}, |
| {tiltX:-90, tiltY:90, azimuth:0, altitude:0}, |
| {tiltX:-90, tiltY:-90, azimuth:0, altitude:0}, |
| {tiltX:0, tiltY:45, azimuth:Math.PI/2, altitude:Math.PI/4}, |
| {tiltX:0, tiltY:-45, azimuth:3*Math.PI/2, altitude:Math.PI/4}, |
| {tiltX:45, tiltY:0, azimuth:0, altitude:Math.PI/4}, |
| {tiltX:-45, tiltY:0, azimuth:Math.PI, altitude:Math.PI/4},].forEach( |
| (el)=>{ |
| test(function(){ |
| var event = new PointerEvent("pointerdown",{pointerId:"pointer1", tiltX:el.tiltX, tiltY:el.tiltY}); |
| assert_equals(event.azimuthAngle, el.azimuth, "azimuth angle should be " + el.azimuth); |
| assert_equals(event.altitudeAngle, el.altitude, "altitude angle should be " + el.altitude); |
| }, `tiltX,tiltY to azimuth/altitude when tiltX=${el.tiltX} and tiltY=${el.tiltY}`); |
| }); |
| |
| test(function(){ |
| var event = new PointerEvent("pointerdown",{}); |
| assert_equals(event.azimuthAngle, 0, "azimuth angle should be 0"); |
| assert_equals(event.altitudeAngle, Math.PI/2, "altitude angle should be " + Math.PI/2); |
| }, "tiltX/tiltY to azimuth/altitude when tiltX/tiltY are not populated"); |
| |
| [{azimuth:0, altitude:0, tiltX:90,tiltY:0}, |
| {azimuth:0, altitude:Math.PI/4, tiltX:45, tiltY:0}, |
| {azimuth:0, altitude:Math.PI/2, tiltX:0,tiltY:0}, |
| {azimuth:Math.PI/2, altitude:0, tiltX:0, tiltY:90}, |
| {azimuth:Math.PI/2, altitude:Math.PI/4, tiltX:0, tiltY:45}, |
| {azimuth:Math.PI, altitude:0, tiltX:-90,tiltY:0}, |
| {azimuth:Math.PI, altitude:Math.PI/4, tiltX:-45, tiltY:0}, |
| {azimuth:3*Math.PI/2, altitude:0, tiltX:0, tiltY:-90}, |
| {azimuth:3*Math.PI/2, altitude:Math.PI/4, tiltX:0, tiltY:-45},].forEach( |
| (el)=>{ |
| test(function(){ |
| var event = new PointerEvent("pointerdown",{pointerId:"pointer1", azimuthAngle:el.azimuth, altitudeAngle:el.altitude}); |
| assert_equals(event.tiltX, el.tiltX, "tiltX angle should be " + el.tiltX); |
| assert_equals(event.tiltY, el.tiltY, "tiltY angle should be " + el.tiltY); |
| }, `azimuth/altitude to tiltX/tiltY when azimuth=${el.azimuth} and altitude=${el.altitude}`); |
| }); |
| |
| test(function(){ |
| var event = new PointerEvent("pointerdown", {pointerId:"pointer1", tiltX:45}); |
| assert_equals(event.tiltX, 45, "tiltX value should stay as initialized"); |
| assert_equals(event.tiltY, 0, "tiltY value should be initialized with default value 0"); |
| assert_equals(event.azimuthAngle, 0, `for (tiltX, tiltY) = (${event.tiltX}, ${event.tiltY}) azimuthAngle should be 0`); |
| assert_equals(event.altitudeAngle, Math.PI/4, `for (tiltX, tiltY) = (${event.tiltX}, ${event.tiltY}) altitudeAngle should be PI/4`); |
| |
| event = new PointerEvent("pointerdown", {pointerId:"pointer1", tiltY:45}); |
| assert_equals(event.tiltX, 0, "tiltX value should be initialized with default value 0"); |
| assert_equals(event.tiltY, 45, "tiltY value should stay as initialized"); |
| assert_equals(event.azimuthAngle, Math.PI/2, `for (tiltX, tiltY) = (${event.tiltX}, ${event.tiltY}) azimuthAngle should be PI/2`); |
| assert_equals(event.altitudeAngle, Math.PI/4, `for (tiltX, tiltY) = (${event.tiltX}, ${event.tiltY}) altitudeAngle should be PI/4`); |
| |
| event = new PointerEvent("pointerdown", {pointerId:"pointer1", azimuthAngle:Math.PI/4}); |
| assert_equals(event.azimuthAngle, Math.PI/4, "azimuthAngle value should stay as initialized"); |
| assert_equals(event.altitudeAngle, Math.PI/2, "altitudeAngle should be initialized with default value of PI/2"); |
| assert_equals(event.tiltX, 0, `for (azimuthAngle, altitudeAngle)=(${event.azimuthAngle},${event.altitudeAngle}) tiltX angle should be 0`); |
| assert_equals(event.tiltY, 0, `for (azimuthAngle, altitudeAngle)=(${event.azimuthAngle},${event.altitudeAngle}) tiltY angle should be 0`); |
| |
| event = new PointerEvent("pointerdown", {pointerId:"pointer1", altitudeAngle:Math.PI/4}); |
| assert_equals(event.azimuthAngle, 0, "azimuthAngle value should be initialized with default value of 0"); |
| assert_equals(event.altitudeAngle, Math.PI/4, "altitudeAngle should stay as initialized"); |
| assert_equals(event.tiltX, 45, `for (azimuthAngle, altitudeAngle)=(${event.azimuthAngle},${event.altitudeAngle}) tiltX angle should be 45 degrees`); |
| assert_equals(event.tiltY, 0, `for (azimuthAngle, altitudeAngle)=(${event.azimuthAngle},${event.altitudeAngle}) tiltY angle should be 0`); |
| }, "If only one of the values (tiltX, tiltY) or (azimuthAngle, altitudeAngle) is available the other one is set to the default value"); |
| |
| test(function(){ |
| var event = new PointerEvent("pointerdown", {pointerId:"pointer1", tiltX:45, azimuthAngle:Math.PI/4}); |
| assert_equals(event.tiltX, 45, "tiltX value should stay as initialized"); |
| assert_equals(event.tiltY, 0, "tiltY value should be initialized with default value 0"); |
| assert_equals(event.azimuthAngle, Math.PI/4, "azimuthAngle should stay as initialized"); |
| assert_equals(event.altitudeAngle, Math.PI/2, `altitudeAngle value should be initialized with default value ${Math.PI/2}`); |
| |
| event = new PointerEvent("pointerdown", {pointerId:"pointer1", tiltY:45, azimuthAngle:Math.PI/4}); |
| assert_equals(event.tiltX, 0, "tiltX value should be initialized with default value 0"); |
| assert_equals(event.tiltY, 45, "tiltY value should stay as initialized"); |
| assert_equals(event.azimuthAngle, Math.PI/4, "azimuthAngle value should stay as initialized"); |
| assert_equals(event.altitudeAngle, Math.PI/2, `altitudeAngle value should be initialized with default value ${Math.PI/2}`); |
| |
| event = new PointerEvent("pointerdown", {pointerId:"pointer1", tiltX:45, altitudeAngle:Math.PI/4}); |
| assert_equals(event.tiltX, 45, "tiltX value should stay as initialized"); |
| assert_equals(event.tiltY, 0, "tiltY value should be initialized with default value 0"); |
| assert_equals(event.azimuthAngle, 0, "azimuthAngle value should be initialized with default value of 0"); |
| assert_equals(event.altitudeAngle, Math.PI/4, "altitudeAngle should stay as initialized"); |
| |
| event = new PointerEvent("pointerdown", {pointerId:"pointer1", tiltY:45, altitudeAngle:Math.PI/4}); |
| assert_equals(event.tiltX, 0, "tiltX value should be initialized with default value 0"); |
| assert_equals(event.tiltY, 45, "tiltY value should stay as initialized"); |
| assert_equals(event.azimuthAngle, 0, "azimuthAngle value should be initialized with default value of 0"); |
| assert_equals(event.altitudeAngle, Math.PI/4, "altitudeAngle should stay as initialized"); |
| }, "If one of the values in both sets is provided, the other value in the set is initialized with the default value") |
| } |
| </script> |
| </body> |
| </html> |