Index: LayoutTests/storage/indexeddb/error-attributes.html |
diff --git a/LayoutTests/storage/indexeddb/error-attributes.html b/LayoutTests/storage/indexeddb/error-attributes.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8fef2ddc73c66493035ab5c3ec1ef369f163590c |
--- /dev/null |
+++ b/LayoutTests/storage/indexeddb/error-attributes.html |
@@ -0,0 +1,34 @@ |
+<!DOCTYPE html> |
+<title>IndexedDB: Error attributes are DOMExceptions</title> |
+<script src="../../resources/testharness.js"></script> |
+<script src="../../resources/testharnessreport.js"></script> |
+<script src="resources/testharness-helpers.js"></script> |
+<script> |
+indexeddb_test( |
+ function(t, db) { |
+ db.createObjectStore('store'); |
+ }, |
+ function(t, db) { |
+ var tx = db.transaction('store', 'readwrite'); |
+ var store = tx.objectStore('store'); |
+ var r1 = store.add('value', 'key'); |
+ r1.onerror = t.unreached_func('first add should succeed'); |
+ |
+ var r2 = store.add('value', 'key'); |
+ r2.onsuccess = t.unreached_func('second add should fail'); |
+ |
+ r2.onerror = t.step_func(function() { |
+ assert_true(r2.error instanceof DOMException); |
+ assert_equals(r2.error.name, 'ConstraintError'); |
+ }); |
+ |
+ tx.oncomplete = t.unreached_func('transaction should not complete'); |
+ tx.onabort = t.step_func(function() { |
+ assert_true(tx.error instanceof DOMException); |
+ assert_equals(tx.error.name, 'ConstraintError'); |
+ t.done(); |
+ }); |
+ }, |
+ 'IDBRequest and IDBTransaction error properties should be DOMExceptions' |
+); |
+</script> |