From d6a678bd9ba533f341e478d39d4d37328e56edc0 Mon Sep 17 00:00:00 2001 From: Steve Block Date: Fri, 27 Aug 2010 11:19:51 +0100 Subject: Add missing Indexed DB tests at r65615 These should have been added as part of the merge to WebKit r65615 See http://trac.webkit.org/changeset/65509 Change-Id: I18ff50f54caa6682e8adfc6ae152bce4e94636a9 --- .../indexeddb/database-description-expected.txt | 74 ++++++++++++++++++++++ .../storage/indexeddb/database-description.html | 13 ++++ .../indexeddb/script-tests/database-description.js | 56 ++++++++++++++++ 3 files changed, 143 insertions(+) create mode 100644 LayoutTests/storage/indexeddb/database-description-expected.txt create mode 100644 LayoutTests/storage/indexeddb/database-description.html create mode 100644 LayoutTests/storage/indexeddb/script-tests/database-description.js (limited to 'LayoutTests/storage') diff --git a/LayoutTests/storage/indexeddb/database-description-expected.txt b/LayoutTests/storage/indexeddb/database-description-expected.txt new file mode 100644 index 0000000..c90d33d --- /dev/null +++ b/LayoutTests/storage/indexeddb/database-description-expected.txt @@ -0,0 +1,74 @@ +Test IDBFactory.open's description parameter. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS 'indexedDB' in window is true +PASS indexedDB == null is false +indexedDB.open('abcd', 'first') +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 + +PASS event.result.description is "first" +indexedDB.open('abcd', 'second') +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 + +PASS firstDB.description is "first" +PASS secondDB.description is "second" +indexedDB.open('abcd') +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 + +PASS firstDB.description is "first" +PASS secondDB.description is "second" +PASS event.result.description is "second" +PASS successfullyParsed is true + +TEST COMPLETE + diff --git a/LayoutTests/storage/indexeddb/database-description.html b/LayoutTests/storage/indexeddb/database-description.html new file mode 100644 index 0000000..ca6a4d6 --- /dev/null +++ b/LayoutTests/storage/indexeddb/database-description.html @@ -0,0 +1,13 @@ + + + + + + + + +

+
+ + + diff --git a/LayoutTests/storage/indexeddb/script-tests/database-description.js b/LayoutTests/storage/indexeddb/script-tests/database-description.js new file mode 100644 index 0000000..bb4acba --- /dev/null +++ b/LayoutTests/storage/indexeddb/script-tests/database-description.js @@ -0,0 +1,56 @@ +description("Test IDBFactory.open's description parameter."); +if (window.layoutTestController) + layoutTestController.waitUntilDone(); + +function test() +{ + shouldBeTrue("'indexedDB' in window"); + shouldBeFalse("indexedDB == null"); + + result = evalAndLog("indexedDB.open('abcd', 'first')"); + verifyResult(result); + result.onsuccess = firstSuccess; + result.onerror = unexpectedErrorCallback; +} + +function firstSuccess() +{ + verifySuccessEvent(event); + window.firstDB = event.result; + + shouldBeEqualToString('event.result.description', 'first'); + + result = evalAndLog("indexedDB.open('abcd', 'second')"); + verifyResult(result); + result.onsuccess = secondSuccess; + result.onerror = unexpectedErrorCallback; +} + +function secondSuccess() +{ + verifySuccessEvent(event); + window.secondDB = event.result; + + shouldBeEqualToString('firstDB.description', 'first'); + shouldBeEqualToString('secondDB.description', 'second'); + + result = evalAndLog("indexedDB.open('abcd')"); + verifyResult(result); + result.onsuccess = thirdSuccess; + result.onerror = unexpectedErrorCallback; +} + +function thirdSuccess() +{ + verifySuccessEvent(event); + + shouldBeEqualToString('firstDB.description', 'first'); + shouldBeEqualToString('secondDB.description', 'second'); + shouldBeEqualToString('event.result.description', 'second'); + + done(); +} + +test(); + +var successfullyParsed = true; -- cgit v1.1