<!DOCTYPE html> <meta charset="utf-8"> <title>IDBObjectStore.add() - record with same key already exists </title> <link rel="author" title="Microsoft" href="http://www.microsoft.com"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="support.js"></script> <script> var db, t = async_test(), record = { key: 1, property: "data" }; var open_rq = createdb(t); open_rq.onupgradeneeded = function(e) { db = e.target.result; var objStore = db.createObjectStore("store", { keyPath: "key" }); objStore.add(record); var rq = objStore.add(record); rq.onsuccess = fail(t, "success on adding duplicate record") rq.onerror = t.step_func(function(e) { assert_equals(e.target.error.name, "ConstraintError"); assert_equals(rq.error.name, "ConstraintError"); assert_equals(e.type, "error"); e.preventDefault(); e.stopPropagation(); }); }; // Defer done, giving rq.onsuccess a chance to run open_rq.onsuccess = function(e) { t.done(); } </script> <div id="log"></div>