pointerevent_tiltX_tiltY_to_azimuth_altitude.html (7980B)
1 <!doctype html> 2 <html> 3 <head> 4 <title>TiltX/TiltY to Azimuth/Altitude</title> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 </head> 8 <body> 9 <script> 10 if(window.test){ 11 [{tiltX:0,tiltY:0, azimuth:0, altitude:Math.PI/2}, 12 {tiltX:0, tiltY:90, azimuth:Math.PI/2, altitude:0}, 13 {tiltX:0, tiltY:-90, azimuth:3*Math.PI/2, altitude:0}, 14 {tiltX:90,tiltY:0, azimuth:0, altitude:0}, 15 {tiltX:90, tiltY:90, azimuth:0, altitude:0}, 16 {tiltX:90, tiltY:-90, azimuth:0, altitude:0}, 17 {tiltX:-90,tiltY:0, azimuth:Math.PI, altitude:0}, 18 {tiltX:-90, tiltY:90, azimuth:0, altitude:0}, 19 {tiltX:-90, tiltY:-90, azimuth:0, altitude:0}, 20 {tiltX:0, tiltY:45, azimuth:Math.PI/2, altitude:Math.PI/4}, 21 {tiltX:0, tiltY:-45, azimuth:3*Math.PI/2, altitude:Math.PI/4}, 22 {tiltX:45, tiltY:0, azimuth:0, altitude:Math.PI/4}, 23 {tiltX:-45, tiltY:0, azimuth:Math.PI, altitude:Math.PI/4},].forEach( 24 (el)=>{ 25 test(function(){ 26 var event = new PointerEvent("pointerdown",{pointerId:"pointer1", tiltX:el.tiltX, tiltY:el.tiltY}); 27 assert_equals(event.azimuthAngle, el.azimuth, "azimuth angle should be " + el.azimuth); 28 assert_equals(event.altitudeAngle, el.altitude, "altitude angle should be " + el.altitude); 29 }, `tiltX,tiltY to azimuth/altitude when tiltX=${el.tiltX} and tiltY=${el.tiltY}`); 30 }); 31 32 test(function(){ 33 var event = new PointerEvent("pointerdown",{}); 34 assert_equals(event.azimuthAngle, 0, "azimuth angle should be 0"); 35 assert_equals(event.altitudeAngle, Math.PI/2, "altitude angle should be " + Math.PI/2); 36 }, "tiltX/tiltY to azimuth/altitude when tiltX/tiltY are not populated"); 37 38 [{azimuth:0, altitude:0, tiltX:90,tiltY:0}, 39 {azimuth:0, altitude:Math.PI/4, tiltX:45, tiltY:0}, 40 {azimuth:0, altitude:Math.PI/2, tiltX:0,tiltY:0}, 41 {azimuth:Math.PI/2, altitude:0, tiltX:0, tiltY:90}, 42 {azimuth:Math.PI/2, altitude:Math.PI/4, tiltX:0, tiltY:45}, 43 {azimuth:Math.PI, altitude:0, tiltX:-90,tiltY:0}, 44 {azimuth:Math.PI, altitude:Math.PI/4, tiltX:-45, tiltY:0}, 45 {azimuth:3*Math.PI/2, altitude:0, tiltX:0, tiltY:-90}, 46 {azimuth:3*Math.PI/2, altitude:Math.PI/4, tiltX:0, tiltY:-45},].forEach( 47 (el)=>{ 48 test(function(){ 49 var event = new PointerEvent("pointerdown",{pointerId:"pointer1", azimuthAngle:el.azimuth, altitudeAngle:el.altitude}); 50 assert_equals(event.tiltX, el.tiltX, "tiltX angle should be " + el.tiltX); 51 assert_equals(event.tiltY, el.tiltY, "tiltY angle should be " + el.tiltY); 52 }, `azimuth/altitude to tiltX/tiltY when azimuth=${el.azimuth} and altitude=${el.altitude}`); 53 }); 54 55 test(function(){ 56 var event = new PointerEvent("pointerdown", {pointerId:"pointer1", tiltX:45}); 57 assert_equals(event.tiltX, 45, "tiltX value should stay as initialized"); 58 assert_equals(event.tiltY, 0, "tiltY value should be initialized with default value 0"); 59 assert_equals(event.azimuthAngle, 0, `for (tiltX, tiltY) = (${event.tiltX}, ${event.tiltY}) azimuthAngle should be 0`); 60 assert_equals(event.altitudeAngle, Math.PI/4, `for (tiltX, tiltY) = (${event.tiltX}, ${event.tiltY}) altitudeAngle should be PI/4`); 61 62 event = new PointerEvent("pointerdown", {pointerId:"pointer1", tiltY:45}); 63 assert_equals(event.tiltX, 0, "tiltX value should be initialized with default value 0"); 64 assert_equals(event.tiltY, 45, "tiltY value should stay as initialized"); 65 assert_equals(event.azimuthAngle, Math.PI/2, `for (tiltX, tiltY) = (${event.tiltX}, ${event.tiltY}) azimuthAngle should be PI/2`); 66 assert_equals(event.altitudeAngle, Math.PI/4, `for (tiltX, tiltY) = (${event.tiltX}, ${event.tiltY}) altitudeAngle should be PI/4`); 67 68 event = new PointerEvent("pointerdown", {pointerId:"pointer1", azimuthAngle:Math.PI/4}); 69 assert_equals(event.azimuthAngle, Math.PI/4, "azimuthAngle value should stay as initialized"); 70 assert_equals(event.altitudeAngle, Math.PI/2, "altitudeAngle should be initialized with default value of PI/2"); 71 assert_equals(event.tiltX, 0, `for (azimuthAngle, altitudeAngle)=(${event.azimuthAngle},${event.altitudeAngle}) tiltX angle should be 0`); 72 assert_equals(event.tiltY, 0, `for (azimuthAngle, altitudeAngle)=(${event.azimuthAngle},${event.altitudeAngle}) tiltY angle should be 0`); 73 74 event = new PointerEvent("pointerdown", {pointerId:"pointer1", altitudeAngle:Math.PI/4}); 75 assert_equals(event.azimuthAngle, 0, "azimuthAngle value should be initialized with default value of 0"); 76 assert_equals(event.altitudeAngle, Math.PI/4, "altitudeAngle should stay as initialized"); 77 assert_equals(event.tiltX, 45, `for (azimuthAngle, altitudeAngle)=(${event.azimuthAngle},${event.altitudeAngle}) tiltX angle should be 45 degrees`); 78 assert_equals(event.tiltY, 0, `for (azimuthAngle, altitudeAngle)=(${event.azimuthAngle},${event.altitudeAngle}) tiltY angle should be 0`); 79 }, "If only one of the values (tiltX, tiltY) or (azimuthAngle, altitudeAngle) is available the other one is set to the default value"); 80 81 test(function(){ 82 var event = new PointerEvent("pointerdown", {pointerId:"pointer1", tiltX:45, azimuthAngle:Math.PI/4}); 83 assert_equals(event.tiltX, 45, "tiltX value should stay as initialized"); 84 assert_equals(event.tiltY, 0, "tiltY value should be initialized with default value 0"); 85 assert_equals(event.azimuthAngle, Math.PI/4, "azimuthAngle should stay as initialized"); 86 assert_equals(event.altitudeAngle, Math.PI/2, `altitudeAngle value should be initialized with default value ${Math.PI/2}`); 87 88 event = new PointerEvent("pointerdown", {pointerId:"pointer1", tiltY:45, azimuthAngle:Math.PI/4}); 89 assert_equals(event.tiltX, 0, "tiltX value should be initialized with default value 0"); 90 assert_equals(event.tiltY, 45, "tiltY value should stay as initialized"); 91 assert_equals(event.azimuthAngle, Math.PI/4, "azimuthAngle value should stay as initialized"); 92 assert_equals(event.altitudeAngle, Math.PI/2, `altitudeAngle value should be initialized with default value ${Math.PI/2}`); 93 94 event = new PointerEvent("pointerdown", {pointerId:"pointer1", tiltX:45, altitudeAngle:Math.PI/4}); 95 assert_equals(event.tiltX, 45, "tiltX value should stay as initialized"); 96 assert_equals(event.tiltY, 0, "tiltY value should be initialized with default value 0"); 97 assert_equals(event.azimuthAngle, 0, "azimuthAngle value should be initialized with default value of 0"); 98 assert_equals(event.altitudeAngle, Math.PI/4, "altitudeAngle should stay as initialized"); 99 100 event = new PointerEvent("pointerdown", {pointerId:"pointer1", tiltY:45, altitudeAngle:Math.PI/4}); 101 assert_equals(event.tiltX, 0, "tiltX value should be initialized with default value 0"); 102 assert_equals(event.tiltY, 45, "tiltY value should stay as initialized"); 103 assert_equals(event.azimuthAngle, 0, "azimuthAngle value should be initialized with default value of 0"); 104 assert_equals(event.altitudeAngle, Math.PI/4, "altitudeAngle should stay as initialized"); 105 }, "If one of the values in both sets is provided, the other value in the set is initialized with the default value") 106 } 107 </script> 108 </body> 109 </html>