toolkit/components/telemetry/tests/unit/test_TelemetryLog.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 const Cc = Components.classes;
     2 const Ci = Components.interfaces;
     3 const Cu = Components.utils;
     5 Cu.import("resource://gre/modules/TelemetryLog.jsm", this);
     6 Cu.import("resource://gre/modules/TelemetryPing.jsm", this);
     8 const TEST_PREFIX = "TEST-";
     9 const TEST_REGEX = new RegExp("^" + TEST_PREFIX);
    11 function check_event(event, id, data)
    12 {
    13   do_print("Checking message " + id);
    14   do_check_eq(event[0], id);
    15   do_check_true(event[1] > 0);
    17   if (data === undefined) {
    18     do_check_true(event.length == 2);
    19   } else {
    20     do_check_eq(event.length, data.length + 2);
    21     for (var i = 0; i < data.length; ++i) {
    22       do_check_eq(typeof(event[i + 2]), "string");
    23       do_check_eq(event[i + 2], data[i]);
    24     }
    25   }
    26 }
    28 function run_test()
    29 {
    30   TelemetryLog.log(TEST_PREFIX + "1", ["val", 123, undefined]);
    31   TelemetryLog.log(TEST_PREFIX + "2", []);
    32   TelemetryLog.log(TEST_PREFIX + "3");
    34   var log = TelemetryPing.getPayload().log.filter(function(e) {
    35     // Only want events that were generated by the test.
    36     return TEST_REGEX.test(e[0]);
    37   });
    39   do_check_eq(log.length, 3);
    40   check_event(log[0], TEST_PREFIX + "1", ["val", "123", "undefined"]);
    41   check_event(log[1], TEST_PREFIX + "2", []);
    42   check_event(log[2], TEST_PREFIX + "3", undefined);
    43   do_check_true(log[0][1] <= log[1][1]);
    44   do_check_true(log[1][1] <= log[2][1]);
    45 }

mercurial