test_add_twice_failure.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /**
  2. * Any copyright is dedicated to the Public Domain.
  3. * http://creativecommons.org/publicdomain/zero/1.0/
  4. */
  5. var testGenerator = testSteps();
  6. function testSteps()
  7. {
  8. const name = this.window ? window.location.pathname : "Splendid Test";
  9. let request = indexedDB.open(name, 1);
  10. request.onerror = errorHandler;
  11. request.onupgradeneeded = grabEventAndContinueHandler;
  12. request.onsuccess = grabEventAndContinueHandler;
  13. let event = yield undefined;
  14. let db = request.result;
  15. ok(event.target === request, "Good event target");
  16. let objectStore = db.createObjectStore("foo", { keyPath: null });
  17. let key = 10;
  18. request = objectStore.add({}, key);
  19. request.onerror = errorHandler;
  20. request.onsuccess = grabEventAndContinueHandler;
  21. event = yield undefined;
  22. is(request.result, key, "Correct key");
  23. request = objectStore.add({}, key);
  24. request.addEventListener("error", new ExpectError("ConstraintError", true));
  25. request.onsuccess = unexpectedSuccessHandler;
  26. yield undefined;
  27. // Wait for success.
  28. yield undefined;
  29. finishTest();
  30. yield undefined;
  31. }