Title: [139793] trunk/LayoutTests
Revision
139793
Author
jsb...@chromium.org
Date
2013-01-15 14:27:58 -0800 (Tue, 15 Jan 2013)

Log Message

IndexedDB: Fix tests which depend upon V8 event listener behavior
https://bugs.webkit.org/show_bug.cgi?id=106731

Ensure consistent use of callback(evt) { preamble(evt); ... } pattern, which addresses
running in JSC and in V8 under Workers. Also add worker test wrappers.

Reviewed by Tony Chang.

* storage/indexeddb/cursor-advance-expected.txt:
* storage/indexeddb/cursor-advance-workers-expected.txt: Added.
* storage/indexeddb/cursor-advance-workers.html: Added.
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt:
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt: Added.
* storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html: Added.
* storage/indexeddb/resources/cursor-advance.js:
(prepareDatabase):
(testPrefetchInRange.prefetch):
(testPrefetchInRange):
(testPrefetchOutOfRange.prefetch):
(testPrefetchOutOfRange):
(testBadAdvance.advanceBadly):
(testBadAdvance):
(testEdges.request.onsuccess):
(testEdges):
(testDelete.deleteSecond):
(testDelete):
* storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
(onOpenSuccess):

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (139792 => 139793)


--- trunk/LayoutTests/ChangeLog	2013-01-15 22:21:43 UTC (rev 139792)
+++ trunk/LayoutTests/ChangeLog	2013-01-15 22:27:58 UTC (rev 139793)
@@ -1,3 +1,34 @@
+2013-01-15  Joshua Bell  <jsb...@chromium.org>
+
+        IndexedDB: Fix tests which depend upon V8 event listener behavior
+        https://bugs.webkit.org/show_bug.cgi?id=106731
+
+        Ensure consistent use of callback(evt) { preamble(evt); ... } pattern, which addresses
+        running in JSC and in V8 under Workers. Also add worker test wrappers.
+
+        Reviewed by Tony Chang.
+
+        * storage/indexeddb/cursor-advance-expected.txt:
+        * storage/indexeddb/cursor-advance-workers-expected.txt: Added.
+        * storage/indexeddb/cursor-advance-workers.html: Added.
+        * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt:
+        * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt: Added.
+        * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html: Added.
+        * storage/indexeddb/resources/cursor-advance.js:
+        (prepareDatabase):
+        (testPrefetchInRange.prefetch):
+        (testPrefetchInRange):
+        (testPrefetchOutOfRange.prefetch):
+        (testPrefetchOutOfRange):
+        (testBadAdvance.advanceBadly):
+        (testBadAdvance):
+        (testEdges.request.onsuccess):
+        (testEdges):
+        (testDelete.deleteSecond):
+        (testDelete):
+        * storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js:
+        (onOpenSuccess):
+
 2013-01-15  Elliott Sprehn  <espr...@gmail.com>
 
         HTML parser should queue MutationRecords for its operations

Modified: trunk/LayoutTests/storage/indexeddb/cursor-advance-expected.txt (139792 => 139793)


--- trunk/LayoutTests/storage/indexeddb/cursor-advance-expected.txt	2013-01-15 22:21:43 UTC (rev 139792)
+++ trunk/LayoutTests/storage/indexeddb/cursor-advance-expected.txt	2013-01-15 22:27:58 UTC (rev 139793)
@@ -8,6 +8,8 @@
 dbname = "cursor-advance.html"
 indexedDB.deleteDatabase(dbname)
 indexedDB.open(dbname)
+
+prepareDatabase():
 objectStore = db.createObjectStore(objectStoreName);
 Now create the indexes.
 objectStore.createIndex(indexData[i].name, indexData[i].keyPath, indexData[i].options);
@@ -84,52 +86,96 @@
 trans = db.transaction(objectStoreName)
 objectStore = trans.objectStore(objectStoreName)
 request = objectStore.openCursor()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7735\",\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
 cursor.advance(2)
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7737\",\"value\":{\"name\":\"Pat\",\"height\":65,\"weight\":100},\"primaryKey\":\"237-23-7737\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7738\",\"value\":{\"name\":\"Leo\",\"height\":65,\"weight\":180},\"primaryKey\":\"237-23-7738\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7739\",\"value\":{\"name\":\"Jef\",\"height\":65,\"weight\":120},\"primaryKey\":\"237-23-7739\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7740\",\"value\":{\"name\":\"Sam\",\"height\":71,\"weight\":110},\"primaryKey\":\"237-23-7740\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7741\",\"value\":{\"name\":\"Bug\",\"height\":63,\"weight\":100},\"primaryKey\":\"237-23-7741\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
 cursor.continue()
+
+prefetch():
 testPrefetchOutOfRange()
 trans = db.transaction(objectStoreName)
 objectStore = trans.objectStore(objectStoreName)
 request = objectStore.openCursor()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7735\",\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
 cursor.advance(7)
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
 cursor.continue()
+
+prefetch():
 PASS expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
 cursor.continue()
+
+prefetch():
 testBadAdvance()
 trans = db.transaction(objectStoreName, 'readwrite')
 objectStore = trans.objectStore(objectStoreName)
 request = objectStore.openCursor()
+
+advanceBadly():
 Expecting TypeError exception from cursor.advance(0)
 PASS Exception was thrown.
 PASS cursor.advance(0) threw TypeError: Type error
@@ -160,26 +206,48 @@
 trans = db.transaction(objectStoreName, 'readwrite')
 objectStore = trans.objectStore(objectStoreName)
 request = objectStore.openCursor()
+
+deleteSecond():
 PASS expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
 cursor.advance(1)
+
+deleteSecond():
 PASS expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
 cursor.advance(1)
+
+deleteSecond():
 PASS expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
 cursor.delete()
+
+deleteSecond():
 PASS expected is "{\"key\":\"237-23-7738\",\"value\":{\"name\":\"Leo\",\"height\":65,\"weight\":180},\"primaryKey\":\"237-23-7738\"}"
 cursor.advance(1)
+
+deleteSecond():
 PASS expected is "{\"key\":\"237-23-7739\",\"value\":{\"name\":\"Jef\",\"height\":65,\"weight\":120},\"primaryKey\":\"237-23-7739\"}"
 cursor.advance(1)
+
+deleteSecond():
 PASS expected is "{\"key\":\"237-23-7740\",\"value\":{\"name\":\"Sam\",\"height\":71,\"weight\":110},\"primaryKey\":\"237-23-7740\"}"
 cursor.advance(1)
+
+deleteSecond():
 PASS expected is "{\"key\":\"237-23-7741\",\"value\":{\"name\":\"Bug\",\"height\":63,\"weight\":100},\"primaryKey\":\"237-23-7741\"}"
 cursor.advance(1)
+
+deleteSecond():
 PASS expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
 cursor.advance(1)
+
+deleteSecond():
 PASS expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
 cursor.advance(1)
+
+deleteSecond():
 PASS expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
 cursor.advance(1)
+
+deleteSecond():
 PASS successfullyParsed is true
 
 TEST COMPLETE

Added: trunk/LayoutTests/storage/indexeddb/cursor-advance-workers-expected.txt (0 => 139793)


--- trunk/LayoutTests/storage/indexeddb/cursor-advance-workers-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/cursor-advance-workers-expected.txt	2013-01-15 22:27:58 UTC (rev 139793)
@@ -0,0 +1,255 @@
+[Worker] Test IndexedDB cursor.advance().
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Starting worker: resources/cursor-advance.js
+[Worker] indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;
+[Worker] 
+[Worker] dbname = "cursor-advance.js"
+[Worker] indexedDB.deleteDatabase(dbname)
+[Worker] indexedDB.open(dbname)
+[Worker] 
+[Worker] prepareDatabase():
+[Worker] objectStore = db.createObjectStore(objectStoreName);
+[Worker] Now create the indexes.
+[Worker] objectStore.createIndex(indexData[i].name, indexData[i].keyPath, indexData[i].options);
+[Worker] objectStore.createIndex(indexData[i].name, indexData[i].keyPath, indexData[i].options);
+[Worker] objectStore.createIndex(indexData[i].name, indexData[i].keyPath, indexData[i].options);
+[Worker] trans = db.transaction(objectStoreName, 'readwrite')
+[Worker] objectStore = trans.objectStore(objectStoreName)
+[Worker] First, add all our data to the object store.
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] request = objectStore.add(objectStoreData[i].value, objectStoreData[i].key);
+[Worker] testSimple()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor()
+[Worker] cursor.advance(1)
+PASS [Worker] expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
+[Worker] testContinueThenAdvance()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor()
+[Worker] cursor.continue();
+[Worker] cursor.continue();
+[Worker] cursor.continue();
+[Worker] cursor.advance(1)
+PASS [Worker] expected is "{\"key\":\"237-23-7736\",\"value\":{\"name\":\"Joe\",\"height\":65,\"weight\":150},\"primaryKey\":\"237-23-7736\"}"
+[Worker] testAdvanceMultiple()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor()
+[Worker] cursor.advance(3)
+PASS [Worker] expected is "{\"key\":\"237-23-7735\",\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
+[Worker] testAdvanceIndex()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor()
+[Worker] cursor.advance(3)
+PASS [Worker] expected is "{\"key\":\"Jef\",\"value\":{\"name\":\"Jef\",\"height\":65,\"weight\":120},\"primaryKey\":\"237-23-7739\"}"
+[Worker] testAdvanceIndexNoDupe()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor(null, 'nextunique')
+[Worker] cursor.advance(3)
+PASS [Worker] expected is "{\"key\":130,\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
+[Worker] testAdvanceIndexPrev()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor(null, 'prev')
+[Worker] cursor.advance(3)
+PASS [Worker] expected is "{\"key\":150,\"value\":{\"name\":\"Joe\",\"height\":65,\"weight\":150},\"primaryKey\":\"237-23-7736\"}"
+[Worker] testAdvanceIndexPrevNoDupe()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor(null, 'prevunique')
+[Worker] cursor.advance(3)
+PASS [Worker] expected is "{\"key\":120,\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
+[Worker] testAdvanceToEnd()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] store = trans.objectStore(objectStoreName)
+[Worker] request = store.openCursor()
+[Worker] cursor.advance(100)
+PASS [Worker] expected is "null"
+[Worker] testPrefetchInRange()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] objectStore = trans.objectStore(objectStoreName)
+[Worker] request = objectStore.openCursor()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7735\",\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
+[Worker] cursor.advance(2)
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7737\",\"value\":{\"name\":\"Pat\",\"height\":65,\"weight\":100},\"primaryKey\":\"237-23-7737\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7738\",\"value\":{\"name\":\"Leo\",\"height\":65,\"weight\":180},\"primaryKey\":\"237-23-7738\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7739\",\"value\":{\"name\":\"Jef\",\"height\":65,\"weight\":120},\"primaryKey\":\"237-23-7739\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7740\",\"value\":{\"name\":\"Sam\",\"height\":71,\"weight\":110},\"primaryKey\":\"237-23-7740\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7741\",\"value\":{\"name\":\"Bug\",\"height\":63,\"weight\":100},\"primaryKey\":\"237-23-7741\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+[Worker] testPrefetchOutOfRange()
+[Worker] trans = db.transaction(objectStoreName)
+[Worker] objectStore = trans.objectStore(objectStoreName)
+[Worker] request = objectStore.openCursor()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7735\",\"value\":{\"name\":\"Sue\",\"height\":58,\"weight\":130},\"primaryKey\":\"237-23-7735\"}"
+[Worker] cursor.advance(7)
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+PASS [Worker] expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
+[Worker] cursor.continue()
+[Worker] 
+[Worker] prefetch():
+[Worker] testBadAdvance()
+[Worker] trans = db.transaction(objectStoreName, 'readwrite')
+[Worker] objectStore = trans.objectStore(objectStoreName)
+[Worker] request = objectStore.openCursor()
+[Worker] 
+[Worker] advanceBadly():
+[Worker] Expecting TypeError exception from cursor.advance(0)
+PASS [Worker] Exception was thrown.
+PASS [Worker] cursor.advance(0) threw TypeError: Type error
+[Worker] Expecting TypeError exception from cursor.advance(-1)
+PASS [Worker] Exception was thrown.
+PASS [Worker] cursor.advance(-1) threw TypeError: Type error
+[Worker] Expecting TypeError exception from cursor.advance(0x100000000)
+PASS [Worker] Exception was thrown.
+PASS [Worker] cursor.advance(0x100000000) threw TypeError: Type error
+[Worker] Expecting TypeError exception from cursor.advance(0x20000000000000)
+PASS [Worker] Exception was thrown.
+PASS [Worker] cursor.advance(0x20000000000000) threw TypeError: Type error
+[Worker] 
+[Worker] testEdges():
+[Worker] trans = db.transaction(objectStoreName, 'readonly')
+[Worker] objectStore = trans.objectStore(objectStoreName)
+[Worker] request = objectStore.openCursor()
+[Worker] 
+[Worker] onSuccess():
+[Worker] cursor = event.target.result
+PASS [Worker] cursor is non-null.
+[Worker] cursor.advance(0xffffffff)
+[Worker] 
+[Worker] onSuccess():
+[Worker] cursor = event.target.result
+PASS [Worker] cursor is null
+[Worker] testDelete()
+[Worker] trans = db.transaction(objectStoreName, 'readwrite')
+[Worker] objectStore = trans.objectStore(objectStoreName)
+[Worker] request = objectStore.openCursor()
+[Worker] 
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7732\",\"value\":{\"name\":\"Bob\",\"height\":60,\"weight\":120},\"primaryKey\":\"237-23-7732\"}"
+[Worker] cursor.advance(1)
+[Worker] 
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7733\",\"value\":{\"name\":\"Ann\",\"height\":52,\"weight\":110},\"primaryKey\":\"237-23-7733\"}"
+[Worker] cursor.advance(1)
+[Worker] 
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7734\",\"value\":{\"name\":\"Ron\",\"height\":73,\"weight\":180},\"primaryKey\":\"237-23-7734\"}"
+[Worker] cursor.delete()
+[Worker] 
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7738\",\"value\":{\"name\":\"Leo\",\"height\":65,\"weight\":180},\"primaryKey\":\"237-23-7738\"}"
+[Worker] cursor.advance(1)
+[Worker] 
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7739\",\"value\":{\"name\":\"Jef\",\"height\":65,\"weight\":120},\"primaryKey\":\"237-23-7739\"}"
+[Worker] cursor.advance(1)
+[Worker] 
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7740\",\"value\":{\"name\":\"Sam\",\"height\":71,\"weight\":110},\"primaryKey\":\"237-23-7740\"}"
+[Worker] cursor.advance(1)
+[Worker] 
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7741\",\"value\":{\"name\":\"Bug\",\"height\":63,\"weight\":100},\"primaryKey\":\"237-23-7741\"}"
+[Worker] cursor.advance(1)
+[Worker] 
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7742\",\"value\":{\"name\":\"Tub\",\"height\":69,\"weight\":180},\"primaryKey\":\"237-23-7742\"}"
+[Worker] cursor.advance(1)
+[Worker] 
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7743\",\"value\":{\"name\":\"Rug\",\"height\":77,\"weight\":120},\"primaryKey\":\"237-23-7743\"}"
+[Worker] cursor.advance(1)
+[Worker] 
+[Worker] deleteSecond():
+PASS [Worker] expected is "{\"key\":\"237-23-7744\",\"value\":{\"name\":\"Pug\",\"height\":66,\"weight\":110},\"primaryKey\":\"237-23-7744\"}"
+[Worker] cursor.advance(1)
+[Worker] 
+[Worker] deleteSecond():
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/storage/indexeddb/cursor-advance-workers.html (0 => 139793)


--- trunk/LayoutTests/storage/indexeddb/cursor-advance-workers.html	                        (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/cursor-advance-workers.html	2013-01-15 22:27:58 UTC (rev 139793)
@@ -0,0 +1,10 @@
+<html>
+<head>
+<script src=""
+<script src=""
+</head>
+<body>
+<script>startWorker('resources/cursor-advance.js');</script>
+<script src=""
+</body>
+</html>

Modified: trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt (139792 => 139793)


--- trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt	2013-01-15 22:21:43 UTC (rev 139792)
+++ trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-expected.txt	2013-01-15 22:27:58 UTC (rev 139793)
@@ -8,6 +8,8 @@
 dbname = "deletedatabase-delayed-by-open-and-versionchange.html"
 indexedDB.deleteDatabase(dbname)
 indexedDB.open(dbname)
+
+prepareDatabase():
 versionChangeComplete = false
 h = event.target.result
 indexedDB.deleteDatabase(dbname)
@@ -20,6 +22,8 @@
 
 transactionOnComplete():
 versionChangeComplete = true
+
+onOpenSuccess():
 h = event.target.result
 h.close()
 

Added: trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt (0 => 139793)


--- trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers-expected.txt	2013-01-15 22:27:58 UTC (rev 139793)
@@ -0,0 +1,36 @@
+[Worker] Test that deleteDatabase is delayed if a VERSION_CHANGE transaction is running
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Starting worker: resources/deletedatabase-delayed-by-open-and-versionchange.js
+[Worker] indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;
+[Worker] 
+[Worker] dbname = "deletedatabase-delayed-by-open-and-versionchange.js"
+[Worker] indexedDB.deleteDatabase(dbname)
+[Worker] indexedDB.open(dbname)
+[Worker] 
+[Worker] prepareDatabase():
+[Worker] versionChangeComplete = false
+[Worker] h = event.target.result
+[Worker] indexedDB.deleteDatabase(dbname)
+[Worker] 
+[Worker] onVersionChange():
+[Worker] old = 1
+[Worker] new = ""
+[Worker] 
+[Worker] deleteDatabaseOnBlocked():
+[Worker] 
+[Worker] transactionOnComplete():
+[Worker] versionChangeComplete = true
+[Worker] 
+[Worker] onOpenSuccess():
+[Worker] h = event.target.result
+[Worker] h.close()
+[Worker] 
+[Worker] deleteDatabaseOnSuccess():
+PASS [Worker] versionChangeComplete is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html (0 => 139793)


--- trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html	                        (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html	2013-01-15 22:27:58 UTC (rev 139793)
@@ -0,0 +1,10 @@
+<html>
+<head>
+<script src=""
+<script src=""
+</head>
+<body>
+<script>startWorker('resources/deletedatabase-delayed-by-open-and-versionchange.js');</script>
+<script src=""
+</body>
+</html>

Modified: trunk/LayoutTests/storage/indexeddb/resources/cursor-advance.js (139792 => 139793)


--- trunk/LayoutTests/storage/indexeddb/resources/cursor-advance.js	2013-01-15 22:21:43 UTC (rev 139792)
+++ trunk/LayoutTests/storage/indexeddb/resources/cursor-advance.js	2013-01-15 22:27:58 UTC (rev 139793)
@@ -28,8 +28,9 @@
 ];
 
 indexedDBTest(prepareDatabase, onOpen);
-function prepareDatabase()
+function prepareDatabase(evt)
 {
+    preamble(evt);
     db = event.target.result;
     objectStoreName = "People";
     objectStore = evalAndLog("objectStore = db.createObjectStore(objectStoreName);");
@@ -225,8 +226,9 @@
     evalAndLog("request = objectStore.openCursor()");
 
     var currentPos = 0;
-    function prefetch()
+    function prefetch(evt)
     {
+        preamble(evt);
         cursor = event.target.result;
 
         if (!cursor) {
@@ -268,8 +270,9 @@
     evalAndLog("request = objectStore.openCursor()");
 
     var currentPos = 0;
-    function prefetch()
+    function prefetch(evt)
     {
+        preamble(evt);
         cursor = event.target.result;
 
         if (!cursor) {
@@ -307,8 +310,9 @@
 
     evalAndLog("request = objectStore.openCursor()");
 
-    function advanceBadly()
+    function advanceBadly(evt)
     {
+        preamble(evt);
         cursor = event.target.result;
 
         evalAndExpectExceptionClass("cursor.advance(0)", "TypeError");
@@ -333,7 +337,7 @@
 
     firstSuccess = true;
     request._onsuccess_ = function onSuccess(evt) {
-        preamble(event);
+        preamble(evt);
         evalAndLog("cursor = event.target.result");
         if (firstSuccess) {
             shouldBeNonNull("cursor");
@@ -356,8 +360,9 @@
     evalAndLog("request = objectStore.openCursor()");
 
     var currentPos = 0;
-    function deleteSecond()
+    function deleteSecond(evt)
     {
+        preamble(evt);
         cursor = event.target.result;
 
         if (!cursor) {

Modified: trunk/LayoutTests/storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js (139792 => 139793)


--- trunk/LayoutTests/storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js	2013-01-15 22:21:43 UTC (rev 139792)
+++ trunk/LayoutTests/storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js	2013-01-15 22:27:58 UTC (rev 139793)
@@ -6,8 +6,9 @@
 description("Test that deleteDatabase is delayed if a VERSION_CHANGE transaction is running");
 
 indexedDBTest(prepareDatabase, onOpenSuccess);
-function prepareDatabase()
+function prepareDatabase(evt)
 {
+    preamble(evt);
     evalAndLog("versionChangeComplete = false");
     evalAndLog("h = event.target.result");
 
@@ -35,8 +36,9 @@
     };
 }
 
-function onOpenSuccess()
+function onOpenSuccess(evt)
 {
+    preamble(evt);
     evalAndLog("h = event.target.result");
     evalAndLog("h.close()");
 }
\ No newline at end of file
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to