toolkit/components/telemetry/tests/unit/test_TelemetryLog.js

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:a4a582c87792
1 const Cc = Components.classes;
2 const Ci = Components.interfaces;
3 const Cu = Components.utils;
4
5 Cu.import("resource://gre/modules/TelemetryLog.jsm", this);
6 Cu.import("resource://gre/modules/TelemetryPing.jsm", this);
7
8 const TEST_PREFIX = "TEST-";
9 const TEST_REGEX = new RegExp("^" + TEST_PREFIX);
10
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);
16
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 }
27
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");
33
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 });
38
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