Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/dom/indexedDB/test/unit/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 3 kB image not shown  

Quelle  test_deleteDatabase.js   Sprache: JAVA

 
/**
 * Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/
 */


/* exported testGenerator */
var testGenerator = testSteps();

function* testSteps() {
  const name = this.window ? window.location.pathname : "Splendid Test";

  ok(indexedDB.deleteDatabase, "deleteDatabase function should exist!");

  let request = indexedDB.open(name, 10);
  request.onerror = errorHandler;
  request.onsuccess = unexpectedSuccessHandler;
  request.onupgradeneeded = grabEventAndContinueHandler;

  ok(request instanceof IDBOpenDBRequest, "Expect an IDBOpenDBRequest");

  let event = yield undefined;

  is(event.type, "upgradeneeded""Expect an upgradeneeded event");
  ok(event instanceof IDBVersionChangeEvent, "Expect a versionchange event");

  let db = event.target.result;
  db.createObjectStore("stuff");

  request.onsuccess = grabEventAndContinueHandler;

  event = yield undefined;

  is(event.type, "success""Expect a success event");
  is(event.target, request, "Event has right target");
  ok(event.target.result instanceof IDBDatabase, "Result should be a database");
  is(db.objectStoreNames.length, 1, "Expect an objectStore here");

  request = indexedDB.open(name, 10);
  request.onerror = errorHandler;
  request.onsuccess = grabEventAndContinueHandler;

  event = yield undefined;
  is(event.type, "success""Expect a success event");
  is(event.target, request, "Event has right target");
  ok(event.target.result instanceof IDBDatabase, "Result should be a database");
  let db2 = event.target.result;
  is(db2.objectStoreNames.length, 1, "Expect an objectStore here");

  var onversionchangecalled = false;

  function closeDBs(event) {
    onversionchangecalled = true;
    ok(event instanceof IDBVersionChangeEvent, "expect a versionchange event");
    is(event.oldVersion, 10, "oldVersion should be 10");
    ok(event.newVersion === null"newVersion should be null");
    ok(!(event.newVersion === undefined), "newVersion should be null");
    ok(!(event.newVersion === 0), "newVersion should be null");
    db.close();
    db2.close();
    db.onversionchange = unexpectedSuccessHandler;
    db2.onversionchange = unexpectedSuccessHandler;
  }

  // The IDB spec doesn't guarantee the order that onversionchange will fire
  // on the dbs.
  db.onversionchange = closeDBs;
  db2.onversionchange = closeDBs;

  request = indexedDB.deleteDatabase(name);
  request.onerror = errorHandler;
  request.onsuccess = grabEventAndContinueHandler;

  ok(request instanceof IDBOpenDBRequest, "Expect an IDBOpenDBRequest");

  event = yield undefined;
  ok(onversionchangecalled, "Expected versionchange events");
  is(event.type, "success""expect a success event");
  is(event.target, request, "event has right target");
  ok(event.target.result === undefined, "event should have no result");

  request = indexedDB.open(name, 1);
  request.onerror = errorHandler;
  request.onsuccess = grabEventAndContinueHandler;

  event = yield undefined;
  is(event.target.result.version, 1, "DB has proper version");
  is(
    event.target.result.objectStoreNames.length,
    0,
    "DB should have no object stores"
  );

  request = indexedDB.deleteDatabase("thisDatabaseHadBetterNotExist");
  request.onerror = errorHandler;
  request.onsuccess = grabEventAndContinueHandler;

  event = yield undefined;
  ok(true"deleteDatabase on a non-existent database succeeded");

  request = indexedDB.open("thisDatabaseHadBetterNotExist");
  request.onerror = errorHandler;
  request.onsuccess = grabEventAndContinueHandler;

  event = yield undefined;
  ok(true"after deleting a non-existent database, open should work");

  finishTest();
}

Messung V0.5
C=97 H=100 G=98

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.