/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ const Cc = Components.classes; const Ci = Components.interfaces; const Cu = Components.utils; const INT_MAX = 0x7FFFFFFF; const Telemetry = Cc["@mozilla.org/base/telemetry;1"].getService(Ci.nsITelemetry); Cu.import("resource://gre/modules/Services.jsm", this); function test_expired_histogram() { var histogram_id = "FOOBAR"; var test_expired_id = "TELEMETRY_TEST_EXPIRED"; var clone_id = "ExpiredClone"; var dummy = Telemetry.newHistogram(histogram_id, "28.0a1", Telemetry.HISTOGRAM_EXPONENTIAL, 1, 2, 3); var dummy_clone = Telemetry.histogramFrom(clone_id, test_expired_id); var rh = Telemetry.registeredHistograms(Ci.nsITelemetry.DATASET_RELEASE_CHANNEL_OPTIN, []); Assert.ok(!!rh); dummy.add(1); dummy_clone.add(1); do_check_eq(Telemetry.histogramSnapshots["__expired__"], undefined); do_check_eq(Telemetry.histogramSnapshots[histogram_id], undefined); do_check_eq(Telemetry.histogramSnapshots[test_expired_id], undefined); do_check_eq(Telemetry.histogramSnapshots[clone_id], undefined); do_check_eq(rh[test_expired_id], undefined); } function test_histogram(histogram_type, name, min, max, bucket_count) { var h = Telemetry.newHistogram(name, "never", histogram_type, min, max, bucket_count); var r = h.snapshot().ranges; var sum = 0; var log_sum = 0; var log_sum_squares = 0; for(var i=0;i