Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* Any copyright is dedicated to the Public Domain.
"use strict";
const indices = [
"moz_newtab_shortcuts_interaction_timestampindex",
"moz_newtab_shortcuts_interaction_placeidindex",
];
add_task(async function setup() {
// setting up the pre-migration database
let path = await setupPlacesDatabase("places_v81.sqlite");
let db = await Sqlite.openConnection({ path });
// optional sanity check to make sure indices are not present before migration
let rows = await db.execute(
"SELECT count(*) FROM sqlite_master WHERE name IN (?, ?)",
indices
);
Assert.equal(
rows[0].getResultByIndex(0),
0,
"Pre-migration: indices should not exist"
);
await db.close();
});
add_task(async function database_is_valid() {
// trigger migration
Assert.equal(
PlacesUtils.history.databaseStatus,
PlacesUtils.history.DATABASE_STATUS_UPGRADED
);
const db = await PlacesUtils.promiseDBConnection();
Assert.equal(await db.getSchemaVersion(), CURRENT_SCHEMA_VERSION);
let rows = await db.execute(
"SELECT count(*) FROM sqlite_master WHERE name IN (?, ?)",
indices
);
Assert.equal(
rows[0].getResultByIndex(0),
2,
"Post-migration: indices were created"
);
});