Bumping manifests a=b2g-bump
[gecko.git] / dom / apps / tests / test_uninstall_errors.html
blob591b76dd64c1c680798db12f4b0320cefff97b19
1 <!DOCTYPE HTML>
2 <html>
3 <!--
4 https://bugzilla.mozilla.org/show_bug.cgi?id=830258
5 -->
6 <head>
7 <meta charset="utf-8">
8 <title>Test for Bug 830258</title>
9 <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
11 <script type="application/javascript;version=1.7">
13 /** Test for Bug 830258 **/
15 SimpleTest.waitForExplicitFinish();
17 var url1 = 'http://test1.example.com/tests/dom/apps/tests/file_app.sjs?apptype=hosted&getmanifest=true';
18 var url2 = 'http://test2.example.com/tests/dom/apps/tests/file_app.sjs?apptype=hosted&getmanifest=true';
20 var gGenerator = runTest();
22 function go() {
23 SpecialPowers.pushPermissions(
24 [{ "type": "webapps-manage", "allow": 1, "context": document }],
25 function() { gGenerator.next() });
28 function continueTest() {
29 try {
30 gGenerator.next();
31 } catch (e if e instanceof StopIteration) {
32 SimpleTest.finish();
36 function mozAppsError() {
37 ok(false, "mozApps error: " + this.error.name);
38 SimpleTest.finish();
41 function runTest() {
42 // Set up.
43 SpecialPowers.setAllAppsLaunchable(true);
44 SpecialPowers.autoConfirmAppInstall(continueTest);
45 yield undefined;
47 SpecialPowers.autoConfirmAppUninstall(continueTest);
48 yield undefined;
50 let request = navigator.mozApps.install(url1);
51 request.onerror = mozAppsError;
52 request.onsuccess = continueTest;
53 yield undefined;
54 let app1 = request.result;
55 ok(app1, "App1 is non-null");
57 request = navigator.mozApps.install(url2);
58 request.onerror = mozAppsError;
59 request.onsuccess = continueTest;
60 yield undefined;
61 let app2 = request.result;
62 ok(app2, "App2 is non-null");
64 request = navigator.mozApps.mgmt.uninstall(app1);
65 request.onsuccess = function() {
66 ok(true, "Succeed to uninstall the app1 as expected");
67 continueTest();
69 request.onerror = function() {
70 ok(false, "Fail to uninstall the app1");
71 continueTest();
73 yield undefined;
75 request = navigator.mozApps.mgmt.uninstall(app1);
76 request.onsuccess = function() {
77 ok(false, "Shouldn't be able to uninstall the app1 again");
78 continueTest();
80 request.onerror = function() {
81 is(this.error.name, "NOT_INSTALLED", "Error name should be 'NOT_INSTALLED'");
82 continueTest();
84 yield undefined;
86 request = navigator.mozApps.mgmt.uninstall(app2);
87 request.onsuccess = function() {
88 ok(true, "Succeed to uninstall the app2 as expected");
89 continueTest();
91 request.onerror = function() {
92 ok(false, "Fail to uninstall the app2");
93 continueTest();
95 yield undefined;
97 </script>
98 </head>
99 <body onload="go()">
100 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=830258">Mozilla Bug 830258</a>
101 <p id="display"></p>
102 <div id="content" style="display: none">
104 </div>
105 <pre id="test">
106 </pre>
107 </body>
108 </html>