diff options
Diffstat (limited to 'browser/experiments/test/xpcshell/test_upgrade.js')
-rw-r--r-- | browser/experiments/test/xpcshell/test_upgrade.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/browser/experiments/test/xpcshell/test_upgrade.js b/browser/experiments/test/xpcshell/test_upgrade.js new file mode 100644 index 000000000..f094a406d --- /dev/null +++ b/browser/experiments/test/xpcshell/test_upgrade.js @@ -0,0 +1,52 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; +Cu.import("resource:///modules/experiments/Experiments.jsm"); + +var 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(); +} |