Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(370)

Unified Diff: LayoutTests/imported/web-platform-tests/IndexedDB/idbcursor-reused.htm

Issue 560893005: First checked-in import of the W3C's test suites. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: add new expectations for newly failing w3c tests Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/imported/web-platform-tests/IndexedDB/idbcursor-reused.htm
diff --git a/LayoutTests/imported/web-platform-tests/IndexedDB/idbcursor-reused.htm b/LayoutTests/imported/web-platform-tests/IndexedDB/idbcursor-reused.htm
new file mode 100644
index 0000000000000000000000000000000000000000..7f9c8bf4e47e399f0ab2e88f1cd37c7883c14591
--- /dev/null
+++ b/LayoutTests/imported/web-platform-tests/IndexedDB/idbcursor-reused.htm
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<title>IDBCursor is reused</title>
+<link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal">
+<meta rel=help href="http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-continue-void-any-key">
+<meta rel=assert title="Otherwise this method runs the steps for asynchronously executing a request. However, the steps are slightly modified such that instead of creating a new IDBRequest, it reuses the request originally created when this cursor was created. The done flag on the request is set to false before the request is returned. The steps are run with the cursor's source as source and the steps for iterating a cursor as operation, using this cursor as cursor and the key parameter as key.">
+<script src="../../../resources/testharness.js"></script>
+<script src="../../../resources/testharnessreport.js"></script>
+<script src="support.js"></script>
+
+<script>
+
+ var db
+ var open_rq = createdb(async_test())
+
+ open_rq.onupgradeneeded = function(e) {
+ db = e.target.result
+ var os = db.createObjectStore("test")
+
+ os.add("data", "k")
+ os.add("data2", "k2")
+ }
+
+ open_rq.onsuccess = function(e) {
+ var cursor
+ var count = 0
+ var rq = db.transaction("test").objectStore("test").openCursor()
+
+ rq.onsuccess = this.step_func(function(e)
+ {
+ switch(count)
+ {
+ case 0:
+ cursor = e.target.result
+
+ assert_equals(cursor.value, "data", "prequisite cursor.value")
+ cursor.custom_cursor_value = 1
+ e.target.custom_request_value = 2
+
+ cursor.continue()
+ break
+
+ case 1:
+ assert_equals(cursor.value, "data2", "prequisite cursor.value")
+ assert_equals(cursor.custom_cursor_value, 1, "custom cursor value")
+ assert_equals(e.target.custom_request_value, 2, "custom request value")
+
+ cursor.advance(1)
+ break
+
+ case 2:
+ assert_false(!!e.target.result, "got cursor")
+ assert_equals(cursor.custom_cursor_value, 1, "custom cursor value")
+ assert_equals(e.target.custom_request_value, 2, "custom request value")
+ break
+ }
+ count++
+ })
+
+ rq.transaction.oncomplete = this.step_func(function() {
+ assert_equals(count, 3, "cursor callback runs")
+ assert_equals(rq.custom_request_value, 2, "variable placed on old IDBRequest")
+ assert_equals(cursor.custom_cursor_value, 1, "custom cursor value (transaction.complete)")
+ this.done()
+ })
+ }
+
+</script>
+
+<div id="log"></div>

Powered by Google App Engine
This is Rietveld 408576698