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

Fri, 16 Jan 2015 18:13:44 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 18:13:44 +0100
branch
TOR_BUG_9701
changeset 14
925c144e1f1f
permissions
-rw-r--r--

Integrate suggestion from review to improve consistency with existing code.

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

mercurial