Index: LayoutTests/imported/web-platform-tests/IndexedDB/idbcursor-direction.htm |
diff --git a/LayoutTests/imported/web-platform-tests/IndexedDB/idbcursor-direction.htm b/LayoutTests/imported/web-platform-tests/IndexedDB/idbcursor-direction.htm |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8189d56f54c79c2a828c476484870c91fa633b85 |
--- /dev/null |
+++ b/LayoutTests/imported/web-platform-tests/IndexedDB/idbcursor-direction.htm |
@@ -0,0 +1,73 @@ |
+<!DOCTYPE html> |
+<title>IDBCursor.direction</title> |
+<link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal"> |
+<script src="../../../resources/testharness.js"></script> |
+<script src="../../../resources/testharnessreport.js"></script> |
+<script src="support.js"></script> |
+ |
+<script> |
+ |
+ function cursor_direction(constant, dir) |
+ { |
+ var db, |
+ t = async_test(document.title + " - " + dir), |
+ expected = dir ? dir : "next"; |
+ |
+ var open_rq = createdb(t); |
+ |
+ open_rq.onupgradeneeded = function(e) { |
+ db = e.target.result; |
+ var objStore = db.createObjectStore("test"); |
+ |
+ objStore.add("data", "key"); |
+ }; |
+ |
+ open_rq.onsuccess = t.step_func(function(e) { |
+ var cursor_rq, count = 0; |
+ var os = db.transaction("test") |
+ .objectStore("test"); |
+ if (dir) |
+ cursor_rq = os.openCursor(undefined, dir); |
+ else |
+ cursor_rq = os.openCursor(); |
+ |
+ cursor_rq.onsuccess = t.step_func(function(e) { |
+ var cursor = e.target.result; |
+ |
+ assert_equals(cursor.direction, constant, 'direction constant'); |
+ assert_equals(cursor.direction, expected, 'direction'); |
+ assert_readonly(cursor, 'direction'); |
+ |
+ count++; |
+ if (count >= 2) |
+ t.done(); |
+ }); |
+ |
+ var cursor_rq2 = db.transaction("test") |
+ .objectStore("test") |
+ .openCursor(undefined, constant); |
+ |
+ cursor_rq2.onsuccess = t.step_func(function(e) { |
+ var cursor = e.target.result; |
+ |
+ assert_equals(cursor.direction, constant, 'direction constant (second try)'); |
+ assert_equals(cursor.direction, expected, 'direction (second try)'); |
+ assert_readonly(cursor, 'direction'); |
+ |
+ count++; |
+ if (count >= 2) |
+ t.done(); |
+ }); |
+ |
+ }); |
+ } |
+ |
+ cursor_direction("next"); |
+ cursor_direction("next", "next"); |
+ cursor_direction("prev", "prev"); |
+ cursor_direction("nextunique", "nextunique"); |
+ cursor_direction("prevunique", "prevunique"); |
+ |
+</script> |
+ |
+<div id="log"></div> |