dom/devicestorage/test/test_enumerate.html

Thu, 15 Jan 2015 15:55:04 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:55:04 +0100
branch
TOR_BUG_9701
changeset 9
a63d609f5ebe
permissions
-rw-r--r--

Back out 97036ab72558 which inappropriately compared turds to third parties.

     1 <!--
     2   Any copyright is dedicated to the Public Domain.
     3   http://creativecommons.org/publicdomain/zero/1.0/
     4 -->
     5 <!DOCTYPE HTML>
     6 <html> <!--
     7 https://bugzilla.mozilla.org/show_bug.cgi?id=717103
     8 -->
     9 <head>
    10   <title>Test for the device storage API </title>
    11   <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
    12   <script type="text/javascript" src="devicestorage_common.js"></script>
    14 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
    15 </head>
    16 <body>
    17 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=717103">Mozilla Bug 717103</a>
    18 <p id="display"></p>
    19 <div id="content" style="display: none">
    21 </div>
    22 <pre id="test">
    23 <script class="testbody" type="text/javascript">
    25 devicestorage_setup();
    27 function enumerateSuccess(e) {
    29   if (e.target.result == null) {
    30     ok(files.length == 0, "when the enumeration is done, we shouldn't have any files in this array")
    31     dump("We still have length = " + files.length + "\n");
    32     devicestorage_cleanup();
    33     return;
    34   }
    36   var filename = e.target.result.name;
    37   if (filename[0] == "/") {
    38     // We got /storageName/prefix/filename
    39     // Remove the storageName (this shows up on FirefoxOS)
    40     filename = filename.substring(1); // Remove leading slash
    41     var slashIndex = filename.indexOf("/");
    42     if (slashIndex >= 0) {
    43       filename = filename.substring(slashIndex + 1); // Remove storageName
    44     }
    45   }
    46   if (filename.startsWith(prefix)) {
    47     filename = filename.substring(prefix.length + 1); // Remove prefix
    48   }
    50   var index = files.indexOf(filename);
    51   files.remove(index);
    53   ok(index > -1, "filename should be in the enumeration : " + e.target.result.name);
    55   // clean up
    56   var cleanup = storage.delete(e.target.result.name);
    57   cleanup.onsuccess = function(e) {}  // todo - can i remove this?
    59   e.target.continue();
    60 }
    62 function handleError(e) {
    63   ok(false, "handleError was called : " + e.target.error.name);
    64   devicestorage_cleanup();
    65 }
    67 function addSuccess(e) {
    68   addedSoFar = addedSoFar + 1;
    69   if (addedSoFar == files.length) {
    71     var cursor = storage.enumerate(prefix);
    72     cursor.onsuccess = enumerateSuccess;
    73     cursor.onerror = handleError;
    74   }
    75 }
    77 function addError(e) {
    78   ok(false, "addError was called : " + e.target.error.name);
    79   devicestorage_cleanup();
    80 }
    82 var storage = navigator.getDeviceStorage("pictures");
    83 ok(navigator.getDeviceStorage, "Should have getDeviceStorage");
    84 var prefix = "devicestorage/" + randomFilename(12) + ".png"
    86 var files = [ "a.PNG", "b.pnG", "c.png", "d/a.png", "d/b.png", "d/c.png", "d/d.png", "The/quick/brown/fox/jumps/over/the/lazy/dog.png"]
    87 var addedSoFar = 0;
    90 for (var i=0; i<files.length; i++) {
    92  request = storage.addNamed(createRandomBlob('image/png'), prefix + '/' + files[i]);
    94  ok(request, "Should have a non-null request");
    95  request.onsuccess = addSuccess;
    96  request.onerror = addError;
    97 }
    99 </script>
   100 </pre>
   101 </body>
   102 </html>

mercurial