dom/apps/tests/test_uninstall_errors.html

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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() });
    26   }
    28   function continueTest() {
    29     try {
    30       gGenerator.next();
    31     } catch (e if e instanceof StopIteration) {
    32       SimpleTest.finish();
    33     }
    34   }
    36   function mozAppsError() {
    37     ok(false, "mozApps error: " + this.error.name);
    38     SimpleTest.finish();
    39   }
    41   function runTest() {
    42     // Set up.
    43     SpecialPowers.setAllAppsLaunchable(true);
    44     SpecialPowers.autoConfirmAppInstall(continueTest);
    45     yield undefined;
    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");
    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");
    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;
    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;
    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">
   101 </div>
   102 <pre id="test">
   103 </pre>
   104 </body>
   105 </html>

mercurial