|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 * http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 "use strict"; |
|
5 Cu.import("resource:///modules/experiments/Experiments.jsm"); |
|
6 |
|
7 const SEC_IN_ONE_DAY = 24 * 60 * 60; |
|
8 const MS_IN_ONE_DAY = SEC_IN_ONE_DAY * 1000; |
|
9 |
|
10 let cacheData = { |
|
11 _enabled: true, |
|
12 _manifestData: { |
|
13 id: "foobartestid", |
|
14 xpiURL: "http://example.com/foo.xpi", |
|
15 xpiHash: "sha256:abcde", |
|
16 startTime: 0, |
|
17 endTime: 2000000000, |
|
18 maxActiveSeconds: 40000000, |
|
19 appName: "TestApp", |
|
20 channel: "test-foo", |
|
21 }, |
|
22 _needsUpdate: false, |
|
23 _randomValue: 0.5, |
|
24 _failedStart: false, |
|
25 _name: "Foo", |
|
26 _description: "Foobar", |
|
27 _homepageURL: "", |
|
28 _addonId: "foo@test", |
|
29 _startDate: 0, |
|
30 _endDate: 2000000000, |
|
31 _branch: null |
|
32 }; |
|
33 |
|
34 add_task(function* test_valid() { |
|
35 let e = new Experiments.ExperimentEntry(); |
|
36 Assert.ok(e.initFromCacheData(cacheData)); |
|
37 Assert.ok(e.enabled); |
|
38 }); |
|
39 |
|
40 add_task(function* test_upgrade() { |
|
41 let e = new Experiments.ExperimentEntry(); |
|
42 delete cacheData._branch; |
|
43 Assert.ok(e.initFromCacheData(cacheData)); |
|
44 Assert.ok(e.enabled); |
|
45 }); |
|
46 |
|
47 add_task(function* test_missing() { |
|
48 let e = new Experiments.ExperimentEntry(); |
|
49 delete cacheData._name; |
|
50 Assert.ok(!e.initFromCacheData(cacheData)); |
|
51 }); |
|
52 |
|
53 function run_test() { |
|
54 run_next_test(); |
|
55 } |