1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/browser/experiments/test/xpcshell/test_upgrade.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,55 @@ 1.4 +/* Any copyright is dedicated to the Public Domain. 1.5 + * http://creativecommons.org/publicdomain/zero/1.0/ */ 1.6 + 1.7 +"use strict"; 1.8 +Cu.import("resource:///modules/experiments/Experiments.jsm"); 1.9 + 1.10 +const SEC_IN_ONE_DAY = 24 * 60 * 60; 1.11 +const MS_IN_ONE_DAY = SEC_IN_ONE_DAY * 1000; 1.12 + 1.13 +let cacheData = { 1.14 + _enabled: true, 1.15 + _manifestData: { 1.16 + id: "foobartestid", 1.17 + xpiURL: "http://example.com/foo.xpi", 1.18 + xpiHash: "sha256:abcde", 1.19 + startTime: 0, 1.20 + endTime: 2000000000, 1.21 + maxActiveSeconds: 40000000, 1.22 + appName: "TestApp", 1.23 + channel: "test-foo", 1.24 + }, 1.25 + _needsUpdate: false, 1.26 + _randomValue: 0.5, 1.27 + _failedStart: false, 1.28 + _name: "Foo", 1.29 + _description: "Foobar", 1.30 + _homepageURL: "", 1.31 + _addonId: "foo@test", 1.32 + _startDate: 0, 1.33 + _endDate: 2000000000, 1.34 + _branch: null 1.35 +}; 1.36 + 1.37 +add_task(function* test_valid() { 1.38 + let e = new Experiments.ExperimentEntry(); 1.39 + Assert.ok(e.initFromCacheData(cacheData)); 1.40 + Assert.ok(e.enabled); 1.41 +}); 1.42 + 1.43 +add_task(function* test_upgrade() { 1.44 + let e = new Experiments.ExperimentEntry(); 1.45 + delete cacheData._branch; 1.46 + Assert.ok(e.initFromCacheData(cacheData)); 1.47 + Assert.ok(e.enabled); 1.48 +}); 1.49 + 1.50 +add_task(function* test_missing() { 1.51 + let e = new Experiments.ExperimentEntry(); 1.52 + delete cacheData._name; 1.53 + Assert.ok(!e.initFromCacheData(cacheData)); 1.54 +}); 1.55 + 1.56 +function run_test() { 1.57 + run_next_test(); 1.58 +}