From 5ddde30071f639962dd557c453f2ad01f8f0fd00 Mon Sep 17 00:00:00 2001 From: Kristian Monsen Date: Wed, 8 Sep 2010 12:18:00 +0100 Subject: Merge WebKit at r66666 : Initial merge by git. Change-Id: I57dedeb49859adc9c539e760f0e749768c66626f --- .../storage/indexeddb/database-basics-expected.txt | 18 +- .../storage/indexeddb/keyrange-expected.txt | 24 +- .../indexeddb/objectstore-cursor-expected.txt | 886 +++++++++++++++++++++ .../storage/indexeddb/objectstore-cursor.html | 209 +++++ .../storage/indexeddb/open-cursor-expected.txt | 1 - .../indexeddb/script-tests/database-basics.js | 21 +- .../storage/indexeddb/script-tests/keyrange.js | 8 +- .../storage/indexeddb/script-tests/open-cursor.js | 3 +- 8 files changed, 1150 insertions(+), 20 deletions(-) create mode 100644 LayoutTests/storage/indexeddb/objectstore-cursor-expected.txt create mode 100644 LayoutTests/storage/indexeddb/objectstore-cursor.html (limited to 'LayoutTests/storage') diff --git a/LayoutTests/storage/indexeddb/database-basics-expected.txt b/LayoutTests/storage/indexeddb/database-basics-expected.txt index 75c276d..1321f4d 100644 --- a/LayoutTests/storage/indexeddb/database-basics-expected.txt +++ b/LayoutTests/storage/indexeddb/database-basics-expected.txt @@ -24,10 +24,26 @@ PASS event.target.readyState is event.target.DONE db = event.result PASS db.name is "name" -PASS db.version is "" PASS db.objectStores is [] PASS db.objectStores.length is 0 PASS db.objectStores.contains('') is false + +Testing setVersion. +db.setVersion("version a") +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' in result is true +PASS 'readyState' in result is true +An event should fire shortly... + +db.setVersion("version b") +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' in result is true +PASS 'readyState' in result is true +An event should fire shortly... + +PASS db.version is "version b" PASS successfullyParsed is true TEST COMPLETE diff --git a/LayoutTests/storage/indexeddb/keyrange-expected.txt b/LayoutTests/storage/indexeddb/keyrange-expected.txt index fc61b2f..a510a80 100644 --- a/LayoutTests/storage/indexeddb/keyrange-expected.txt +++ b/LayoutTests/storage/indexeddb/keyrange-expected.txt @@ -14,7 +14,7 @@ PASS keyRange.flags is keyRange.SINGLE IDBKeyRange.leftBound(10,true) PASS keyRange.left is 10 PASS keyRange.right is null -PASS keyRange.flags is keyRange.LEFT_OPEN +PASS keyRange.flags is keyRange.LEFT_OPEN | keyRange.LEFT_BOUND IDBKeyRange.leftBound(11,false) PASS keyRange.left is 11 PASS keyRange.right is null @@ -26,7 +26,7 @@ PASS keyRange.flags is keyRange.LEFT_BOUND IDBKeyRange.leftBound('aa',true) PASS keyRange.left is 'aa' PASS keyRange.right is null -PASS keyRange.flags is keyRange.LEFT_OPEN +PASS keyRange.flags is keyRange.LEFT_OPEN | keyRange.LEFT_BOUND IDBKeyRange.leftBound('ab',false) PASS keyRange.left is 'ab' PASS keyRange.right is null @@ -38,7 +38,7 @@ PASS keyRange.flags is keyRange.LEFT_BOUND IDBKeyRange.rightBound(20,true) PASS keyRange.right is 20 PASS keyRange.left is null -PASS keyRange.flags is keyRange.RIGHT_OPEN +PASS keyRange.flags is keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND IDBKeyRange.rightBound(21,false) PASS keyRange.right is 21 PASS keyRange.left is null @@ -50,7 +50,7 @@ PASS keyRange.flags is keyRange.RIGHT_BOUND IDBKeyRange.rightBound('ba',true) PASS keyRange.right is 'ba' PASS keyRange.left is null -PASS keyRange.flags is keyRange.RIGHT_OPEN +PASS keyRange.flags is keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND IDBKeyRange.rightBound('bb',false) PASS keyRange.right is 'bb' PASS keyRange.left is null @@ -73,17 +73,17 @@ IDBKeyRange.bound(32,42,false,true) PASS keyRange.left is 32 PASS keyRange.right is 42 PASS leftFlags is keyRange.LEFT_BOUND -PASS rightFlags is keyRange.RIGHT_OPEN +PASS rightFlags is keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND IDBKeyRange.bound(33,43,true,false) PASS keyRange.left is 33 PASS keyRange.right is 43 -PASS leftFlags is keyRange.LEFT_OPEN +PASS leftFlags is keyRange.LEFT_OPEN | keyRange.LEFT_BOUND PASS rightFlags is keyRange.RIGHT_BOUND IDBKeyRange.bound(34,44,true,true) PASS keyRange.left is 34 PASS keyRange.right is 44 -PASS leftFlags is keyRange.LEFT_OPEN -PASS rightFlags is keyRange.RIGHT_OPEN +PASS leftFlags is keyRange.LEFT_OPEN | keyRange.LEFT_BOUND +PASS rightFlags is keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND IDBKeyRange.bound('aaa','aba',false,false) PASS keyRange.left is 'aaa' PASS keyRange.right is 'aba' @@ -103,17 +103,17 @@ IDBKeyRange.bound('aad','abd',false,true) PASS keyRange.left is 'aad' PASS keyRange.right is 'abd' PASS leftFlags is keyRange.LEFT_BOUND -PASS rightFlags is keyRange.RIGHT_OPEN +PASS rightFlags is keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND IDBKeyRange.bound('aae','abe',true,false) PASS keyRange.left is 'aae' PASS keyRange.right is 'abe' -PASS leftFlags is keyRange.LEFT_OPEN +PASS leftFlags is keyRange.LEFT_OPEN | keyRange.LEFT_BOUND PASS rightFlags is keyRange.RIGHT_BOUND IDBKeyRange.bound('aaf','abf',true,true) PASS keyRange.left is 'aaf' PASS keyRange.right is 'abf' -PASS leftFlags is keyRange.LEFT_OPEN -PASS rightFlags is keyRange.RIGHT_OPEN +PASS leftFlags is keyRange.LEFT_OPEN | keyRange.LEFT_BOUND +PASS rightFlags is keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND PASS successfullyParsed is true TEST COMPLETE diff --git a/LayoutTests/storage/indexeddb/objectstore-cursor-expected.txt b/LayoutTests/storage/indexeddb/objectstore-cursor-expected.txt new file mode 100644 index 0000000..ce5514a --- /dev/null +++ b/LayoutTests/storage/indexeddb/objectstore-cursor-expected.txt @@ -0,0 +1,886 @@ +Test IndexedDB's objectStore.openCursor + the cursor it produces in depth. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +indexedDB.open('someDB', 'some description') +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' in result is true +PASS 'readyState' in result is true +An event should fire shortly... + +Success event fired: +PASS 'result' in event is true +PASS 'code' in event is false +PASS 'message' in event is false +PASS 'source' in event is true +PASS event.source != null is true +PASS 'onsuccess' in event.target is true +PASS 'onerror' in event.target is true +PASS 'abort' in event.target is true +PASS 'readyState' in event.target is true +PASS event.target.readyState is event.target.DONE + +db = event.result +db.createObjectStore('someObjectStore') +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' in result is true +PASS 'readyState' in result is true +An event should fire shortly... + +Success event fired: +PASS 'result' in event is true +PASS 'code' in event is false +PASS 'message' in event is false +PASS 'source' in event is true +PASS event.source != null is true +PASS 'onsuccess' in event.target is true +PASS 'onerror' in event.target is true +PASS 'abort' in event.target is true +PASS 'readyState' in event.target is true +PASS event.target.readyState is event.target.DONE + +objectStore = event.result +Success event fired: +PASS 'result' in event is true +PASS 'code' in event is false +PASS 'message' in event is false +PASS 'source' in event is true +PASS event.source != null is true +PASS 'onsuccess' in event.target is true +PASS 'onerror' in event.target is true +PASS 'abort' in event.target is true +PASS 'readyState' in event.target is true +PASS event.target.readyState is event.target.DONE + +objectStore.add('', testData[nextToAdd]) +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' in result is true +PASS 'readyState' in result is true +An event should fire shortly... + +Success event fired: +PASS 'result' in event is true +PASS 'code' in event is false +PASS 'message' in event is false +PASS 'source' in event is true +PASS event.source != null is true +PASS 'onsuccess' in event.target is true +PASS 'onerror' in event.target is true +PASS 'abort' in event.target is true +PASS 'readyState' in event.target is true +PASS event.target.readyState is event.target.DONE + +objectStore.add('', testData[nextToAdd]) +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' in result is true +PASS 'readyState' in result is true +An event should fire shortly... + +Success event fired: +PASS 'result' in event is true +PASS 'code' in event is false +PASS 'message' in event is false +PASS 'source' in event is true +PASS event.source != null is true +PASS 'onsuccess' in event.target is true +PASS 'onerror' in event.target is true +PASS 'abort' in event.target is true +PASS 'readyState' in event.target is true +PASS event.target.readyState is event.target.DONE + +objectStore.add('', testData[nextToAdd]) +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' in result is true +PASS 'readyState' in result is true +An event should fire shortly... + +Success event fired: +PASS 'result' in event is true +PASS 'code' in event is false +PASS 'message' in event is false +PASS 'source' in event is true +PASS event.source != null is true +PASS 'onsuccess' in event.target is true +PASS 'onerror' in event.target is true +PASS 'abort' in event.target is true +PASS 'readyState' in event.target is true +PASS event.target.readyState is event.target.DONE + +objectStore.add('', testData[nextToAdd]) +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' in result is true +PASS 'readyState' in result is true +An event should fire shortly... + +Success event fired: +PASS 'result' in event is true +PASS 'code' in event is false +PASS 'message' in event is false +PASS 'source' in event is true +PASS event.source != null is true +PASS 'onsuccess' in event.target is true +PASS 'onerror' in event.target is true +PASS 'abort' in event.target is true +PASS 'readyState' in event.target is true +PASS event.target.readyState is event.target.DONE + +objectStore.add('', testData[nextToAdd]) +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' in result is true +PASS 'readyState' in result is true +An event should fire shortly... + +Success event fired: +PASS 'result' in event is true +PASS 'code' in event is false +PASS 'message' in event is false +PASS 'source' in event is true +PASS event.source != null is true +PASS 'onsuccess' in event.target is true +PASS 'onerror' in event.target is true +PASS 'abort' in event.target is true +PASS 'readyState' in event.target is true +PASS event.target.readyState is event.target.DONE + +objectStore.add('', testData[nextToAdd]) +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' in result is true +PASS 'readyState' in result is true +An event should fire shortly... + +Success event fired: +PASS 'result' in event is true +PASS 'code' in event is false +PASS 'message' in event is false +PASS 'source' in event is true +PASS event.source != null is true +PASS 'onsuccess' in event.target is true +PASS 'onerror' in event.target is true +PASS 'abort' in event.target is true +PASS 'readyState' in event.target is true +PASS event.target.readyState is event.target.DONE + +objectStore.add('', testData[nextToAdd]) +PASS 'onsuccess' in result is true +PASS 'onerror' in result is true +PASS 'abort' in result is true +PASS 'readyState' in result is true +An event should fire shortly... + +Scheduling tests... +Running tests... + +Next test: lower open bound is 0; sorted ascending. +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower bound is 0; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: upper open bound is 0; sorted ascending. +PASS event.result is null + +Next test: upper bound is 0; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: lower open bound is 0; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result is null + +Next test: lower bound is 0; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: upper open bound is 0; sorted descending. +PASS event.result is null + +Next test: upper bound is 0; sorted descending. +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: lower open bound is 0; upper open bound is 6; sorted ascending. +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower open bound is 0; upper bound is 6; sorted ascending. +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower bound is 0; upper open bound is 6; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower bound is 0; upper bound is 6; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower open bound is 0; upper open bound is 6; sorted descending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result is null + +Next test: lower open bound is 0; upper bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result is null + +Next test: lower bound is 0; upper open bound is 6; sorted descending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: lower bound is 0; upper bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: lower open bound is 1; sorted ascending. +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower bound is 1; sorted ascending. +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: upper open bound is 1; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: upper bound is 1; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result.key is testData[1] +PASS event.result is null + +Next test: lower open bound is 1; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result is null + +Next test: lower bound is 1; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result is null + +Next test: upper open bound is 1; sorted descending. +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: upper bound is 1; sorted descending. +PASS event.result.key is testData[1] +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: lower open bound is 1; upper open bound is 6; sorted ascending. +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower open bound is 1; upper bound is 6; sorted ascending. +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower bound is 1; upper open bound is 6; sorted ascending. +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower bound is 1; upper bound is 6; sorted ascending. +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower open bound is 1; upper open bound is 6; sorted descending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result is null + +Next test: lower open bound is 1; upper bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result is null + +Next test: lower bound is 1; upper open bound is 6; sorted descending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result is null + +Next test: lower bound is 1; upper bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result is null + +Next test: lower open bound is 2; sorted ascending. +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower bound is 2; sorted ascending. +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: upper open bound is 2; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result.key is testData[1] +PASS event.result is null + +Next test: upper bound is 2; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result is null + +Next test: lower open bound is 2; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result is null + +Next test: lower bound is 2; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result is null + +Next test: upper open bound is 2; sorted descending. +PASS event.result.key is testData[1] +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: upper bound is 2; sorted descending. +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: lower open bound is 2; upper open bound is 6; sorted ascending. +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower open bound is 2; upper bound is 6; sorted ascending. +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower bound is 2; upper open bound is 6; sorted ascending. +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower bound is 2; upper bound is 6; sorted ascending. +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower open bound is 2; upper open bound is 6; sorted descending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result is null + +Next test: lower open bound is 2; upper bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result is null + +Next test: lower bound is 2; upper open bound is 6; sorted descending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result is null + +Next test: lower bound is 2; upper bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result is null + +Next test: lower open bound is 3; sorted ascending. +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower bound is 3; sorted ascending. +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: upper open bound is 3; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result is null + +Next test: upper bound is 3; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result is null + +Next test: lower open bound is 3; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result is null + +Next test: lower bound is 3; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result is null + +Next test: upper open bound is 3; sorted descending. +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: upper bound is 3; sorted descending. +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: lower open bound is 3; upper open bound is 6; sorted ascending. +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower open bound is 3; upper bound is 6; sorted ascending. +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower bound is 3; upper open bound is 6; sorted ascending. +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower bound is 3; upper bound is 6; sorted ascending. +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower open bound is 3; upper open bound is 6; sorted descending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result is null + +Next test: lower open bound is 3; upper bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result is null + +Next test: lower bound is 3; upper open bound is 6; sorted descending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result is null + +Next test: lower bound is 3; upper bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result is null + +Next test: lower open bound is 4; sorted ascending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower bound is 4; sorted ascending. +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: upper open bound is 4; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result is null + +Next test: upper bound is 4; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result is null + +Next test: lower open bound is 4; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower bound is 4; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result is null + +Next test: upper open bound is 4; sorted descending. +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: upper bound is 4; sorted descending. +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: lower open bound is 4; upper open bound is 6; sorted ascending. +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower open bound is 4; upper bound is 6; sorted ascending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower bound is 4; upper open bound is 6; sorted ascending. +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower bound is 4; upper bound is 6; sorted ascending. +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower open bound is 4; upper open bound is 6; sorted descending. +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower open bound is 4; upper bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower bound is 4; upper open bound is 6; sorted descending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result is null + +Next test: lower bound is 4; upper bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result is null + +Next test: lower open bound is 5; sorted ascending. +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower bound is 5; sorted ascending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: upper open bound is 5; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result is null + +Next test: upper bound is 5; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower open bound is 5; sorted descending. +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower bound is 5; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: upper open bound is 5; sorted descending. +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: upper bound is 5; sorted descending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: lower open bound is 5; upper open bound is 6; sorted ascending. +PASS event.result is null + +Next test: lower open bound is 5; upper bound is 6; sorted ascending. +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower bound is 5; upper open bound is 6; sorted ascending. +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower bound is 5; upper bound is 6; sorted ascending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower open bound is 5; upper open bound is 6; sorted descending. +PASS event.result is null + +Next test: lower open bound is 5; upper bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower bound is 5; upper open bound is 6; sorted descending. +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower bound is 5; upper bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: lower open bound is 6; sorted ascending. +PASS event.result is null + +Next test: lower bound is 6; sorted ascending. +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: upper open bound is 6; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result is null + +Next test: upper bound is 6; sorted ascending. +PASS event.result.key is testData[0] +PASS event.result.key is testData[1] +PASS event.result.key is testData[2] +PASS event.result.key is testData[3] +PASS event.result.key is testData[4] +PASS event.result.key is testData[5] +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower open bound is 6; sorted descending. +PASS event.result is null + +Next test: lower bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: upper open bound is 6; sorted descending. +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: upper bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result.key is testData[5] +PASS event.result.key is testData[4] +PASS event.result.key is testData[3] +PASS event.result.key is testData[2] +PASS event.result.key is testData[1] +PASS event.result.key is testData[0] +PASS event.result is null + +Next test: lower open bound is 6; upper open bound is 6; sorted ascending. +PASS event.result is null + +Next test: lower open bound is 6; upper bound is 6; sorted ascending. +PASS event.result is null + +Next test: lower bound is 6; upper open bound is 6; sorted ascending. +PASS event.result is null + +Next test: lower bound is 6; upper bound is 6; sorted ascending. +PASS event.result.key is testData[6] +PASS event.result is null + +Next test: lower open bound is 6; upper open bound is 6; sorted descending. +PASS event.result is null + +Next test: lower open bound is 6; upper bound is 6; sorted descending. +PASS event.result is null + +Next test: lower bound is 6; upper open bound is 6; sorted descending. +PASS event.result is null + +Next test: lower bound is 6; upper bound is 6; sorted descending. +PASS event.result.key is testData[6] +PASS event.result is null +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/LayoutTests/storage/indexeddb/objectstore-cursor.html b/LayoutTests/storage/indexeddb/objectstore-cursor.html new file mode 100644 index 0000000..bc69b43 --- /dev/null +++ b/LayoutTests/storage/indexeddb/objectstore-cursor.html @@ -0,0 +1,209 @@ + + + + + + + + +

+
+ + + diff --git a/LayoutTests/storage/indexeddb/open-cursor-expected.txt b/LayoutTests/storage/indexeddb/open-cursor-expected.txt index ac58785..e4ddc69 100644 --- a/LayoutTests/storage/indexeddb/open-cursor-expected.txt +++ b/LayoutTests/storage/indexeddb/open-cursor-expected.txt @@ -96,7 +96,6 @@ PASS 'abort' in event.target is true PASS 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE -PASS event.result is null PASS successfullyParsed is true TEST COMPLETE diff --git a/LayoutTests/storage/indexeddb/script-tests/database-basics.js b/LayoutTests/storage/indexeddb/script-tests/database-basics.js index a07c684..04ebbd3 100644 --- a/LayoutTests/storage/indexeddb/script-tests/database-basics.js +++ b/LayoutTests/storage/indexeddb/script-tests/database-basics.js @@ -8,7 +8,6 @@ function openSuccess() var db = evalAndLog("db = event.result"); shouldBeEqualToString("db.name", "name"); - shouldBeEqualToString("db.version", ""); shouldBe("db.objectStores", "[]"); shouldBe("db.objectStores.length", "0"); shouldBe("db.objectStores.contains('')", "false"); @@ -16,6 +15,26 @@ function openSuccess() // FIXME: Test the other properties of IDBDatabase as they're written. + debug(""); + debug("Testing setVersion."); + result = evalAndLog('db.setVersion("version a")'); + verifyResult(result); + result.onsuccess = setVersionAgain; + result.onError = unexpectedErrorCallback; +} + +function setVersionAgain() +{ + result = evalAndLog('db.setVersion("version b")'); + verifyResult(result); + result.onsuccess = checkVersion; + result.onError = unexpectedErrorCallback; +} + +function checkVersion() +{ + shouldBeEqualToString("db.version", "version b"); + done(); } diff --git a/LayoutTests/storage/indexeddb/script-tests/keyrange.js b/LayoutTests/storage/indexeddb/script-tests/keyrange.js index 26d283f..907d817 100644 --- a/LayoutTests/storage/indexeddb/script-tests/keyrange.js +++ b/LayoutTests/storage/indexeddb/script-tests/keyrange.js @@ -15,7 +15,7 @@ function checkLeftBoundKeyRange(value, open) keyRange = evalAndLog("IDBKeyRange.leftBound(" + value + "," + open + ")"); shouldBe("keyRange.left", "" + value); shouldBeNull("keyRange.right"); - shouldBe("keyRange.flags", open ? "keyRange.LEFT_OPEN" : "keyRange.LEFT_BOUND"); + shouldBe("keyRange.flags", open ? "keyRange.LEFT_OPEN | keyRange.LEFT_BOUND" : "keyRange.LEFT_BOUND"); } function checkRightBoundKeyRange(value, open) @@ -23,7 +23,7 @@ function checkRightBoundKeyRange(value, open) keyRange = evalAndLog("IDBKeyRange.rightBound(" + value + "," + open + ")"); shouldBe("keyRange.right", "" + value); shouldBeNull("keyRange.left"); - shouldBe("keyRange.flags", open ? "keyRange.RIGHT_OPEN" : "keyRange.RIGHT_BOUND"); + shouldBe("keyRange.flags", open ? "keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND" : "keyRange.RIGHT_BOUND"); } function checkBoundKeyRange(left, right, openLeft, openRight) @@ -32,9 +32,9 @@ function checkBoundKeyRange(left, right, openLeft, openRight) shouldBe("keyRange.left", "" + left); shouldBe("keyRange.right", "" + right); leftFlags = keyRange.flags & (keyRange.LEFT_OPEN | keyRange.LEFT_BOUND); - shouldBe("leftFlags", openLeft ? "keyRange.LEFT_OPEN" : "keyRange.LEFT_BOUND"); + shouldBe("leftFlags", openLeft ? "keyRange.LEFT_OPEN | keyRange.LEFT_BOUND" : "keyRange.LEFT_BOUND"); rightFlags = keyRange.flags & (keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND); - shouldBe("rightFlags", openRight ? "keyRange.RIGHT_OPEN" : "keyRange.RIGHT_BOUND"); + shouldBe("rightFlags", openRight ? "keyRange.RIGHT_OPEN | keyRange.RIGHT_BOUND" : "keyRange.RIGHT_BOUND"); } function test() diff --git a/LayoutTests/storage/indexeddb/script-tests/open-cursor.js b/LayoutTests/storage/indexeddb/script-tests/open-cursor.js index ff0b711..53ea96b 100644 --- a/LayoutTests/storage/indexeddb/script-tests/open-cursor.js +++ b/LayoutTests/storage/indexeddb/script-tests/open-cursor.js @@ -7,7 +7,6 @@ function emptyCursorSuccess() debug("Empty cursor opened successfully.") verifySuccessEvent(event); // FIXME: check that we can iterate the cursor. - shouldBe("event.result", "null"); done(); } @@ -18,6 +17,7 @@ function openEmptyCursor() result = evalAndLog("objectStore.openCursor(keyRange)"); verifyResult(result); result.onsuccess = emptyCursorSuccess; + result.onerror = unexpectedErrorCallback; } function cursorSuccess() @@ -39,6 +39,7 @@ function openCursor() result = evalAndLog("objectStore.openCursor(keyRange)"); verifyResult(result); result.onsuccess = cursorSuccess; + result.onerror = unexpectedErrorCallback; } function populateObjectStore(objectStore) -- cgit v1.1