diff -r 000000000000 -r 6474c204b198 browser/experiments/test/xpcshell/test_upgrade.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/experiments/test/xpcshell/test_upgrade.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,55 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; +Cu.import("resource:///modules/experiments/Experiments.jsm"); + +const SEC_IN_ONE_DAY = 24 * 60 * 60; +const MS_IN_ONE_DAY = SEC_IN_ONE_DAY * 1000; + +let cacheData = { + _enabled: true, + _manifestData: { + id: "foobartestid", + xpiURL: "http://example.com/foo.xpi", + xpiHash: "sha256:abcde", + startTime: 0, + endTime: 2000000000, + maxActiveSeconds: 40000000, + appName: "TestApp", + channel: "test-foo", + }, + _needsUpdate: false, + _randomValue: 0.5, + _failedStart: false, + _name: "Foo", + _description: "Foobar", + _homepageURL: "", + _addonId: "foo@test", + _startDate: 0, + _endDate: 2000000000, + _branch: null +}; + +add_task(function* test_valid() { + let e = new Experiments.ExperimentEntry(); + Assert.ok(e.initFromCacheData(cacheData)); + Assert.ok(e.enabled); +}); + +add_task(function* test_upgrade() { + let e = new Experiments.ExperimentEntry(); + delete cacheData._branch; + Assert.ok(e.initFromCacheData(cacheData)); + Assert.ok(e.enabled); +}); + +add_task(function* test_missing() { + let e = new Experiments.ExperimentEntry(); + delete cacheData._name; + Assert.ok(!e.initFromCacheData(cacheData)); +}); + +function run_test() { + run_next_test(); +}