Title: [88384] trunk/LayoutTests
- Revision
- 88384
- Author
- commit-qu...@webkit.org
- Date
- 2011-06-08 14:02:49 -0700 (Wed, 08 Jun 2011)
Log Message
2011-06-08 Mark Pilgrim <pilg...@chromium.org>
Reviewed by Tony Chang.
IndexedDB test: odd value datatypes
https://bugs.webkit.org/show_bug.cgi?id=62315
* storage/indexeddb/values-odd-types-expected.txt: Added.
* storage/indexeddb/values-odd-types.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (88383 => 88384)
--- trunk/LayoutTests/ChangeLog 2011-06-08 21:01:39 UTC (rev 88383)
+++ trunk/LayoutTests/ChangeLog 2011-06-08 21:02:49 UTC (rev 88384)
@@ -1,3 +1,13 @@
+2011-06-08 Mark Pilgrim <pilg...@chromium.org>
+
+ Reviewed by Tony Chang.
+
+ IndexedDB test: odd value datatypes
+ https://bugs.webkit.org/show_bug.cgi?id=62315
+
+ * storage/indexeddb/values-odd-types-expected.txt: Added.
+ * storage/indexeddb/values-odd-types.html: Added.
+
2011-06-08 Tom Sepez <tse...@chromium.org>
Reviewed by Adam Barth.
Added: trunk/LayoutTests/storage/indexeddb/values-odd-types-expected.txt (0 => 88384)
--- trunk/LayoutTests/storage/indexeddb/values-odd-types-expected.txt (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/values-odd-types-expected.txt 2011-06-08 21:02:49 UTC (rev 88384)
@@ -0,0 +1,50 @@
+Test IndexedDB odd value datatypes
+
+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', {autoIncrement: true});
+adding regexp value
+objectStore.add(validTypes[nextToAdd].value)
+adding date value
+objectStore.add(validTypes[nextToAdd].value)
+adding object value
+objectStore.add(validTypes[nextToAdd].value)
+adding imagedata value
+objectStore.add(validTypes[nextToAdd].value)
+request = objectStore.openCursor();
+cursor = event.target.result;
+PASS cursor.value.toString() is validTypes[valueIndex].value.toString()
+cursor.continue();
+valueIndex++;
+cursor = event.target.result;
+PASS cursor.value.toString() is validTypes[valueIndex].value.toString()
+PASS cursor.value.toUTCString() is 'Thu, 01 Jan 1970 00:00:00 GMT'
+cursor.continue();
+valueIndex++;
+cursor = event.target.result;
+PASS cursor.value.toString() is validTypes[valueIndex].value.toString()
+cursor.continue();
+valueIndex++;
+cursor = event.target.result;
+PASS cursor.value.toString() is validTypes[valueIndex].value.toString()
+PASS cursor.value.width is 1
+cursor.continue();
+valueIndex++;
+cursor = event.target.result;
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/storage/indexeddb/values-odd-types.html (0 => 88384)
--- trunk/LayoutTests/storage/indexeddb/values-odd-types.html (rev 0)
+++ trunk/LayoutTests/storage/indexeddb/values-odd-types.html 2011-06-08 21:02:49 UTC (rev 88384)
@@ -0,0 +1,101 @@
+<!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 odd value datatypes");
+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', {autoIncrement: true});");
+
+ canvas = document.createElement('canvas');
+ context = canvas.getContext('2d');
+ imagedata = context.createImageData(1, 1);
+ validTypes = [{ description: 'regexp', value: new RegExp('\\\\') },
+ { description: 'date', value: new Date(0) },
+ { description: 'object', value: new Object() },
+ { description: 'imagedata', value: imagedata },
+ ];
+ nextToAdd = 0;
+ addData();
+}
+
+function addData()
+{
+ debug("adding " + validTypes[nextToAdd].description + " value");
+ result = evalAndLog("objectStore.add(validTypes[nextToAdd].value)");
+ result._onsuccess_ = ++nextToAdd < validTypes.length ? addData : openACursor;
+ result._onerror_ = unexpectedErrorCallback;
+}
+
+function openACursor()
+{
+ valueIndex = 0;
+ request = evalAndLog("request = objectStore.openCursor();");
+ request._onerror_ = unexpectedErrorCallback;
+ request._onsuccess_ = function (event) {
+ cursor = evalAndLog("cursor = event.target.result;");
+ if (cursor) {
+ shouldBe("cursor.value.toString()", "validTypes[valueIndex].value.toString()");
+ if (valueIndex == 1) {
+ shouldBe("cursor.value.toUTCString()", "'Thu, 01 Jan 1970 00:00:00 GMT'");
+ }
+ if (valueIndex == 3) {
+ shouldBe("cursor.value.width", "1");
+ }
+ evalAndLog("cursor.continue();");
+ evalAndLog("valueIndex++;");
+ }
+ else {
+ done();
+ }
+ }
+}
+
+var successfullyParsed = true;
+
+test();
+
+</script>
+</body>
+</html>
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes