services/common/tests/unit/test_utils_dateprefs.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* Any copyright is dedicated to the Public Domain.
     2  * http://creativecommons.org/publicdomain/zero/1.0/ */
     4 "use strict";
     6 Cu.import("resource://gre/modules/Preferences.jsm");
     7 Cu.import("resource://services-common/utils.js");
    10 let prefs = new Preferences("servicescommon.tests.");
    12 function DummyLogger() {
    13   this.messages = [];
    14 }
    15 DummyLogger.prototype.warn = function warn(message) {
    16   this.messages.push(message);
    17 };
    19 function run_test() {
    20   run_next_test();
    21 }
    23 add_test(function test_set_basic() {
    24   let now = new Date();
    26   CommonUtils.setDatePref(prefs, "test00", now);
    27   let value = prefs.get("test00");
    28   do_check_eq(value, "" + now.getTime());
    30   let now2 = CommonUtils.getDatePref(prefs, "test00");
    32   do_check_eq(now.getTime(), now2.getTime());
    34   run_next_test();
    35 });
    37 add_test(function test_set_bounds_checking() {
    38   let d = new Date(2342354);
    40   let failed = false;
    41   try {
    42     CommonUtils.setDatePref(prefs, "test01", d);
    43   } catch (ex) {
    44     do_check_true(ex.message.startsWith("Trying to set"));
    45     failed = true;
    46   }
    48   do_check_true(failed);
    49   run_next_test();
    50 });
    52 add_test(function test_get_bounds_checking() {
    53   prefs.set("test_bounds_checking", "13241431");
    55   let log = new DummyLogger();
    56   let d = CommonUtils.getDatePref(prefs, "test_bounds_checking", 0, log);
    57   do_check_eq(d.getTime(), 0);
    58   do_check_eq(log.messages.length, 1);
    60   run_next_test();
    61 });
    63 add_test(function test_get_bad_default() {
    64   let failed = false;
    65   try {
    66     CommonUtils.getDatePref(prefs, "get_bad_default", new Date());
    67   } catch (ex) {
    68     do_check_true(ex.message.startsWith("Default value is not a number"));
    69     failed = true;
    70   }
    72   do_check_true(failed);
    73   run_next_test();
    74 });
    76 add_test(function test_get_invalid_number() {
    77   prefs.set("get_invalid_number", "hello world");
    79   let log = new DummyLogger();
    80   let d = CommonUtils.getDatePref(prefs, "get_invalid_number", 42, log);
    81   do_check_eq(d.getTime(), 42);
    82   do_check_eq(log.messages.length, 1);
    84   run_next_test();
    85 });

mercurial