Title: [88395] trunk/LayoutTests
Revision
88395
Author
[email protected]
Date
2011-06-08 15:07:56 -0700 (Wed, 08 Jun 2011)

Log Message

2011-06-08  Mark Pilgrim  <[email protected]>

        Reviewed by Tony Chang.

        IndexedDB test: key sort order for Date objects
        https://bugs.webkit.org/show_bug.cgi?id=62300

        * storage/indexeddb/key-sort-order-date-expected.txt: Added.
        * storage/indexeddb/key-sort-order-date.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (88394 => 88395)


--- trunk/LayoutTests/ChangeLog	2011-06-08 21:54:15 UTC (rev 88394)
+++ trunk/LayoutTests/ChangeLog	2011-06-08 22:07:56 UTC (rev 88395)
@@ -1,3 +1,13 @@
+2011-06-08  Mark Pilgrim  <[email protected]>
+
+        Reviewed by Tony Chang.
+
+        IndexedDB test: key sort order for Date objects
+        https://bugs.webkit.org/show_bug.cgi?id=62300
+
+        * storage/indexeddb/key-sort-order-date-expected.txt: Added.
+        * storage/indexeddb/key-sort-order-date.html: Added.
+
 2011-06-08  Xiaomei Ji  <[email protected]>
 
         Split move-by-word-visually.html into 2 tests since the test is continuing growing and caused

Added: trunk/LayoutTests/storage/indexeddb/key-sort-order-date-expected.txt (0 => 88395)


--- trunk/LayoutTests/storage/indexeddb/key-sort-order-date-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/key-sort-order-date-expected.txt	2011-06-08 22:07:56 UTC (rev 88395)
@@ -0,0 +1,49 @@
+Test IndexedDB key comparison
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;
+PASS indexedDB == null is false
+IDBDatabaseException = window.IDBDatabaseException || window.webkitIDBDatabaseException;
+PASS IDBDatabaseException == null is false
+IDBCursor = window.IDBCursor || window.webkitIDBCursor;
+PASS IDBCursor == null is false
+IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange;
+PASS IDBKeyRange == null is false
+indexedDB.open(name, description)
+db = event.target.result
+request = db.setVersion('1')
+Deleted all object stores.
+db.createObjectStore('foo');
+date1 = new Date(1000);
+request = objectStore.add([], date1);
+date0 = new Date(0);
+request = objectStore.add([], date0);
+date3 = new Date(3000);
+request = objectStore.add([], date3);
+date2 = new Date(2000);
+request = objectStore.add([], date2);
+sortedKeys = [date0.toString(), date1.toString(), date2.toString(), date3.toString()];
+request = objectStore.openCursor();
+cursor = event.target.result;
+PASS cursor.key.toString() is sortedKeys[keyIndex]
+cursor.continue();
+keyIndex++;
+cursor = event.target.result;
+PASS cursor.key.toString() is sortedKeys[keyIndex]
+cursor.continue();
+keyIndex++;
+cursor = event.target.result;
+PASS cursor.key.toString() is sortedKeys[keyIndex]
+cursor.continue();
+keyIndex++;
+cursor = event.target.result;
+PASS cursor.key.toString() is sortedKeys[keyIndex]
+cursor.continue();
+keyIndex++;
+cursor = event.target.result;
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/storage/indexeddb/key-sort-order-date.html (0 => 88395)


--- trunk/LayoutTests/storage/indexeddb/key-sort-order-date.html	                        (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/key-sort-order-date.html	2011-06-08 22:07:56 UTC (rev 88395)
@@ -0,0 +1,105 @@
+<!DOCTYPE html>
+<html>
+<head>
+<link rel="stylesheet" href=""
+<script src=""
+<script src=""
+<script src=""
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+<script>
+
+description("Test IndexedDB key comparison");
+if (window.layoutTestController)
+    layoutTestController.waitUntilDone();
+
+function test()
+{
+    indexedDB = evalAndLog("indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;");
+    shouldBeFalse("indexedDB == null");
+    IDBDatabaseException = evalAndLog("IDBDatabaseException = window.IDBDatabaseException || window.webkitIDBDatabaseException;");
+    shouldBeFalse("IDBDatabaseException == null");
+    IDBCursor = evalAndLog("IDBCursor = window.IDBCursor || window.webkitIDBCursor;");
+    shouldBeFalse("IDBCursor == null");
+    IDBKeyRange = evalAndLog("IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange;");
+    shouldBeFalse("IDBKeyRange == null");
+
+    name = window.location.pathname;
+    description = "My Test Database";
+    request = evalAndLog("indexedDB.open(name, description)");
+    request._onsuccess_ = openSuccess;
+    request._onerror_ = unexpectedErrorCallback;
+}
+
+function openSuccess()
+{
+    db = evalAndLog("db = event.target.result");
+
+    request = evalAndLog("request = db.setVersion('1')");
+    request._onsuccess_ = addKey1;
+    request._onerror_ = unexpectedErrorCallback;
+}
+
+function addKey1()
+{
+    deleteAllObjectStores(db);
+
+    objectStore = evalAndLog("db.createObjectStore('foo');");
+    date1 = evalAndLog("date1 = new Date(1000);");
+    request = evalAndLog("request = objectStore.add([], date1);");
+    request._onsuccess_ = addKey2;
+    request._onerror_ = unexpectedErrorCallback;
+}
+
+function addKey2()
+{
+    date0 = evalAndLog("date0 = new Date(0);");
+    request = evalAndLog("request = objectStore.add([], date0);");
+    request._onsuccess_ = addKey3;
+    request._onerror_ = unexpectedErrorCallback;
+}
+
+function addKey3()
+{
+    date3 = evalAndLog("date3 = new Date(3000);");
+    request = evalAndLog("request = objectStore.add([], date3);");
+    request._onsuccess_ = addKey4;
+    request._onerror_ = unexpectedErrorCallback;
+}
+
+function addKey4()
+{
+    date2 = evalAndLog("date2 = new Date(2000);");
+    request = evalAndLog("request = objectStore.add([], date2);");
+    request._onsuccess_ = openACursor;
+    request._onerror_ = unexpectedErrorCallback;
+}
+
+function openACursor()
+{
+    keyIndex = 0;
+    sortedKeys = evalAndLog("sortedKeys = [date0.toString(), date1.toString(), date2.toString(), date3.toString()];");
+    request = evalAndLog("request = objectStore.openCursor();");
+    request._onerror_ = unexpectedErrorCallback;
+    request._onsuccess_ = function (event) {
+        cursor = evalAndLog("cursor = event.target.result;");
+        if (cursor) {
+            shouldBe("cursor.key.toString()", "sortedKeys[keyIndex]");
+            evalAndLog("cursor.continue();");
+            evalAndLog("keyIndex++;");
+        }
+        else {
+            done();
+        }
+    }
+}
+
+var successfullyParsed = true;
+
+test();
+
+</script>
+</body>
+</html>
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to