tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_utils_dateprefs.js (1865B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 var prefs = Services.prefs.getBranch("servicescommon.tests.");
      7 
      8 function DummyLogger() {
      9  this.messages = [];
     10 }
     11 DummyLogger.prototype.warn = function warn(message) {
     12  this.messages.push(message);
     13 };
     14 
     15 add_test(function test_set_basic() {
     16  let now = new Date();
     17 
     18  CommonUtils.setDatePref(prefs, "test00", now);
     19  let value = prefs.getStringPref("test00");
     20  Assert.equal(value, "" + now.getTime());
     21 
     22  let now2 = CommonUtils.getDatePref(prefs, "test00");
     23 
     24  Assert.equal(now.getTime(), now2.getTime());
     25 
     26  run_next_test();
     27 });
     28 
     29 add_test(function test_set_bounds_checking() {
     30  let d = new Date(2342354);
     31 
     32  let failed = false;
     33  try {
     34    CommonUtils.setDatePref(prefs, "test01", d);
     35  } catch (ex) {
     36    Assert.ok(ex.message.startsWith("Trying to set"));
     37    failed = true;
     38  }
     39 
     40  Assert.ok(failed);
     41  run_next_test();
     42 });
     43 
     44 add_test(function test_get_bounds_checking() {
     45  prefs.setStringPref("test_bounds_checking", "13241431");
     46 
     47  let log = new DummyLogger();
     48  let d = CommonUtils.getDatePref(prefs, "test_bounds_checking", 0, log);
     49  Assert.equal(d.getTime(), 0);
     50  Assert.equal(log.messages.length, 1);
     51 
     52  run_next_test();
     53 });
     54 
     55 add_test(function test_get_bad_default() {
     56  let failed = false;
     57  try {
     58    CommonUtils.getDatePref(prefs, "get_bad_default", new Date());
     59  } catch (ex) {
     60    Assert.ok(ex.message.startsWith("Default value is not a number"));
     61    failed = true;
     62  }
     63 
     64  Assert.ok(failed);
     65  run_next_test();
     66 });
     67 
     68 add_test(function test_get_invalid_number() {
     69  prefs.setStringPref("get_invalid_number", "hello world");
     70 
     71  let log = new DummyLogger();
     72  let d = CommonUtils.getDatePref(prefs, "get_invalid_number", 42, log);
     73  Assert.equal(d.getTime(), 42);
     74  Assert.equal(log.messages.length, 1);
     75 
     76  run_next_test();
     77 });