summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/webextensions/test/browser/browser_update.js
blob: 09ceb12404f3cd2f3175c7af038d6e1fce0d29f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/
 */

// Tests that updates correctly flush caches and that new files gets updated.

function test() {
  requestLongerTimeout(2);
  waitForExplicitFinish();

  Services.prefs.setBoolPref("extensions.checkUpdateSecurity", false);

  run_next_test();
}

// Install a first version
add_test(function() {
  AddonManager.getInstallForURL(TESTROOT + "addons/browser_update1_1.xpi",
                                function(aInstall) {
    aInstall.install();
  }, "application/x-xpinstall");

  Services.ppmm.addMessageListener("my-addon-1", function messageListener() {
    Services.ppmm.removeMessageListener("my-addon-1", messageListener);
    ok(true, "first version sent frame script message");
    run_next_test();
  });
});

// Update to a second version and verify that content gets updated
add_test(function() {
  AddonManager.getInstallForURL(TESTROOT + "addons/browser_update1_2.xpi",
                                function(aInstall) {
    aInstall.install();
  }, "application/x-xpinstall");

  Services.ppmm.addMessageListener("my-addon-2", function messageListener() {
    Services.ppmm.removeMessageListener("my-addon-2", messageListener);
    ok(true, "second version sent frame script message");
    run_next_test();
  });
});

// Finally, cleanup things
add_test(function() {
  Services.prefs.setBoolPref("xpinstall.signatures.required", true);

  AddonManager.getAddonByID("update1@tests.mozilla.org", function(aAddon) {
    aAddon.uninstall();

    finish();
  });
});