dom/apps/tests/test_uninstall_errors.html

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:0b875cc16dad
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">
12
13 /** Test for Bug 830258 **/
14
15 SimpleTest.waitForExplicitFinish();
16
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';
19
20 var gGenerator = runTest();
21
22 function go() {
23 SpecialPowers.pushPermissions(
24 [{ "type": "webapps-manage", "allow": 1, "context": document }],
25 function() { gGenerator.next() });
26 }
27
28 function continueTest() {
29 try {
30 gGenerator.next();
31 } catch (e if e instanceof StopIteration) {
32 SimpleTest.finish();
33 }
34 }
35
36 function mozAppsError() {
37 ok(false, "mozApps error: " + this.error.name);
38 SimpleTest.finish();
39 }
40
41 function runTest() {
42 // Set up.
43 SpecialPowers.setAllAppsLaunchable(true);
44 SpecialPowers.autoConfirmAppInstall(continueTest);
45 yield undefined;
46
47 let request = navigator.mozApps.install(url1);
48 request.onerror = mozAppsError;
49 request.onsuccess = continueTest;
50 yield undefined;
51 let app1 = request.result;
52 ok(app1, "App1 is non-null");
53
54 request = navigator.mozApps.install(url2);
55 request.onerror = mozAppsError;
56 request.onsuccess = continueTest;
57 yield undefined;
58 let app2 = request.result;
59 ok(app2, "App2 is non-null");
60
61 request = navigator.mozApps.mgmt.uninstall(app1);
62 request.onsuccess = function() {
63 ok(true, "Succeed to uninstall the app1 as expected");
64 continueTest();
65 };
66 request.onerror = function() {
67 ok(false, "Fail to uninstall the app1");
68 continueTest();
69 };
70 yield undefined;
71
72 request = navigator.mozApps.mgmt.uninstall(app1);
73 request.onsuccess = function() {
74 ok(false, "Shouldn't be able to uninstall the app1 again");
75 continueTest();
76 };
77 request.onerror = function() {
78 is(this.error.name, "NOT_INSTALLED", "Error name should be 'NOT_INSTALLED'");
79 continueTest();
80 };
81 yield undefined;
82
83 request = navigator.mozApps.mgmt.uninstall(app2);
84 request.onsuccess = function() {
85 ok(true, "Succeed to uninstall the app2 as expected");
86 continueTest();
87 };
88 request.onerror = function() {
89 ok(false, "Fail to uninstall the app2");
90 continueTest();
91 };
92 yield undefined;
93 }
94 </script>
95 </head>
96 <body onload="go()">
97 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=830258">Mozilla Bug 830258</a>
98 <p id="display"></p>
99 <div id="content" style="display: none">
100
101 </div>
102 <pre id="test">
103 </pre>
104 </body>
105 </html>

mercurial