dom/system/tests/marionette/test_proximity_change.js

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* Any copyright is dedicated to the Public Domain.
     2  * http://creativecommons.org/publicdomain/zero/1.0/ */
     4 MARIONETTE_TIMEOUT = 10000;
     6 let receivedEvent = false;
     7 let expectedEvent;
     9 function enableProximityListener() {
    10   // Setup device proximity event listener, expect defaults
    11   log("Enabling 'deviceproximity' event listener.");
    13   // Bug 814043: Device proximity event 'min' and 'max' attributes incorrect
    14   // Until that is fixed, expect 1:0:1 instead of 1:0:0
    15   // expectedEvent = new DeviceProximityEvent("deviceproximity",
    16   //     {value:1, min:0, max:0});
    17   expectedEvent = new DeviceProximityEvent("deviceproximity",
    18       {value:1, min:0, max:1});
    20   window.addEventListener('deviceproximity', listener);
    21   log("Waiting for device proximity event.");
    22   waitFor(changeProximity, function() {
    23     return(receivedEvent);
    24   });
    25 }
    27 function listener(event) {
    28   // Received proximity update
    29   log("Received 'deviceproximity' event via listener (value:"
    30       + event.value + " min:" + event.min + " max:" + event.max + ").");
    31   // Verify event values are as expected
    32   is(event.value, expectedEvent.value, "value");
    33   is(event.min, expectedEvent.min, "min");
    34   is(event.max, expectedEvent.max, "max");
    35   receivedEvent = true;
    36 }
    38 function changeProximity() {
    39   // Change emulator's proximity and verify event attributes
    40   let newValue = "7:3:15";
    42   // Bug 814043: Device proximity event 'min' and 'max' attributes won't change
    43   // Until fixed, expect proximity event min to be '0' and max to be '1' always
    44   // expectedEvent = new DeviceProximityEvent("deviceproximity",
    45   //     {value: 7, min: 3, max: 15});
    46   expectedEvent = new DeviceProximityEvent("deviceproximity",
    47        {value:7, min:0, max:1});
    49   // Setup handler and verify 'ondeviceproximity' event
    50   window.ondeviceproximity = function(event) {
    51     log("Received 'ondeviceproximity' event via handler (value:"
    52         + event.value + " min:" + event.min + " max:"
    53         + event.max + ").");
    54     is(event.value, expectedEvent.value, "value");
    55     is(event.min, expectedEvent.min, "min");
    56     is(event.max, expectedEvent.max, "max");
    57     // Turn off event handler and listener
    58     window.ondeviceproximity = null;
    59     window.removeEventListener('deviceproximity', listener);
    60     restoreProximity();
    61   };
    63   log("Sending emulator command to fake proximity change (" + newValue + ").");
    64   runEmulatorCmd("sensor set proximity " + newValue, function(result) {
    65     log("Emulator callback.");
    66   });
    67 }
    69 function restoreProximity() {
    70   // Set the emulator's proximity value back to original
    71   newValue = "1:0:0";
    72   log("Sending emulator command to restore proximity (" + newValue + ").");
    73   runEmulatorCmd("sensor set proximity " + newValue, function(result) {
    74     cleanUp();
    75   });
    76 }
    78 function cleanUp() {
    79   finish();
    80 }
    82 // Start the test
    83 enableProximityListener();

mercurial