summaryrefslogtreecommitdiffstats
path: root/dom/indexedDB/test/unit/test_obsoleteOriginAttributesUpgrade.js
blob: 893dfb08a551e357a93fa068ee9373cb035abe09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/**
 * Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/
 */

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

function* testSteps() {
  const url = "moz-extension://8ea6d31b-917c-431f-a204-15b95e904d4f";
  const dbName = "Hello.";
  const dbVersion = 1;

  clearAllDatabases(continueToNextStepSync);
  yield;

  // The origin directory contained in the package is:
  // "moz-extension+++8ea6d31b-917c-431f-a204-15b95e904d4f^addonId=indexedDB-test%40kmaglione.mozilla.com"
  installPackagedProfile("obsoleteOriginAttributes_profile");

  let request = indexedDB.openForPrincipal(
    getPrincipal(url),
    dbName,
    dbVersion
  );
  request.onerror = errorHandler;
  request.onupgradeneeded = unexpectedSuccessHandler;
  request.onsuccess = grabEventAndContinueHandler;
  let event = yield;

  is(event.type, "success", "Correct event type");

  resetAllDatabases(continueToNextStepSync);
  yield;

  request = indexedDB.openForPrincipal(getPrincipal(url), dbName, dbVersion);
  request.onerror = errorHandler;
  request.onupgradeneeded = unexpectedSuccessHandler;
  request.onsuccess = grabEventAndContinueHandler;
  event = yield;

  is(event.type, "success", "Correct event type");

  finishTest();
}