dom/indexedDB/test/unit/test_global_data.js

Wed, 31 Dec 2014 06:55:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:55:50 +0100
changeset 2
7e26c7da4463
permissions
-rw-r--r--

Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2

     1 /**
     2  * Any copyright is dedicated to the Public Domain.
     3  * http://creativecommons.org/publicdomain/zero/1.0/
     4  */
     6 var testGenerator = testSteps();
     8 function testSteps()
     9 {
    10   const name = this.window ? window.location.pathname : "Splendid Test";
    11   const objectStore =  { name: "Objects",
    12                          options: { keyPath: "id", autoIncrement: true } };
    14   let request = indexedDB.open(name, 1);
    15   request.onerror = errorHandler;
    16   request.onupgradeneeded = grabEventAndContinueHandler;
    17   let event = yield undefined;
    19   let db1 = event.target.result;
    21   is(db1.objectStoreNames.length, 0, "No objectStores in db1");
    23   db1.createObjectStore(objectStore.name, objectStore.options);
    25   continueToNextStep();
    26   yield undefined;
    28   request = indexedDB.open(name, 1);
    29   request.onerror = errorHandler;
    30   request.onsuccess = grabEventAndContinueHandler;
    31   event = yield undefined;
    33   let db2 = event.target.result;
    35   ok(db1 !== db2, "Databases are not the same object");
    37   is(db1.objectStoreNames.length, 1, "1 objectStore in db1");
    38   is(db1.objectStoreNames.item(0), objectStore.name, "Correct name");
    40   is(db2.objectStoreNames.length, 1, "1 objectStore in db2");
    41   is(db2.objectStoreNames.item(0), objectStore.name, "Correct name");
    43   let objectStore1 = db1.transaction(objectStore.name)
    44                         .objectStore(objectStore.name);
    45   is(objectStore1.name, objectStore.name, "Same name");
    46   is(objectStore1.keyPath, objectStore.options.keyPath, "Same keyPath");
    48   let objectStore2 = db2.transaction(objectStore.name)
    49                         .objectStore(objectStore.name);
    51   ok(objectStore1 !== objectStore2, "Different objectStores");
    52   is(objectStore1.name, objectStore2.name, "Same name");
    53   is(objectStore1.keyPath, objectStore2.keyPath, "Same keyPath");
    55   finishTest();
    56   yield undefined;
    57 }

mercurial