[SyncFS] Build indexes from FileTracker entries on disk.
[chromium-blink-merge.git] / content / test / data / indexeddb / transaction_test.js
blobe1a47ddae9a6032a5f9762f51913148e1dce81e8
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 function finalTransactionCompleted()
7   debug('The final transaction completed.');
8   done();
11 function finalTransactionAborted()
13   fail('The final transaction should not abort.');
16 function employeeNotFound()
18   debug('Employee not found.');
19   shouldBe("event.target.result", "undefined");
22 function newTransactionAborted()
24   debug('The transaction was aborted.');
26   var finalTransaction = db.transaction(['employees'],
27                                         'readonly');
28   finalTransaction.oncomplete = finalTransactionCompleted;
29   finalTransaction.onabort = finalTransactionAborted;
31   var request = finalTransaction.objectStore('employees').get(0);
32   request.onsuccess = employeeNotFound;
33   request.onerror = unexpectedErrorCallback;
36 function newTransactionCompleted()
38   fail('The new transaction should not complete.');
41 function employeeAdded()
43   debug('Added an employee inside the transaction.');
44   newTransaction.abort();
47 function onSetVersionComplete()
49   debug('Creating new transaction.');
50   window.newTransaction = db.transaction(['employees'],
51                                          'readwrite');
52   newTransaction.oncomplete = newTransactionCompleted;
53   newTransaction.onabort = newTransactionAborted;
55   var request = newTransaction.objectStore('employees').put(
56       {id: 0, name: 'John Doe', desk: 'LON-BEL-123'});
57   request.onsuccess = employeeAdded;
58   request.onerror = unexpectedErrorCallback;
61 function onSetVersion()
63   // We are now in a set version transaction.
64   window.db = event.target.result;
65   debug('Creating object store.');
66   deleteAllObjectStores(db);
67   db.createObjectStore('employees', {keyPath: 'id'});
70 function test()
72   if ('webkitIndexedDB' in window) {
73     indexedDB = webkitIndexedDB;
74     IDBCursor = webkitIDBCursor;
75     IDBKeyRange = webkitIDBKeyRange;
76     IDBTransaction = webkitIDBTransaction;
77   }
78   indexedDBTest(onSetVersion, onSetVersionComplete);