Files
palemoon27/toolkit/components/places/tests/migration/test_current_from_v19.js
T

43 lines
1.4 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
const ANNO_LEGACYGUID = "placesInternal/GUID";
let getTotalGuidAnnotationsCount = Task.async(function* (db) {
let rows = yield db.execute(
`SELECT count(*)
FROM moz_items_annos a
JOIN moz_anno_attributes b ON a.anno_attribute_id = b.id
WHERE b.name = :attr_name
`, { attr_name: ANNO_LEGACYGUID });
return rows[0].getResultByIndex(0);
});
add_task(function* setup() {
yield setupPlacesDatabase("places_v19.sqlite");
});
add_task(function* initial_state() {
let path = OS.Path.join(OS.Constants.Path.profileDir, DB_FILENAME);
let db = yield Sqlite.openConnection({ path: path });
Assert.equal((yield getTotalGuidAnnotationsCount(db)), 1,
"There should be 1 obsolete guid annotation");
yield db.close();
});
add_task(function* database_is_valid() {
Assert.equal(PlacesUtils.history.databaseStatus,
PlacesUtils.history.DATABASE_STATUS_UPGRADED);
let db = yield PlacesUtils.promiseDBConnection();
Assert.equal((yield db.getSchemaVersion()), CURRENT_SCHEMA_VERSION);
});
add_task(function test_bookmark_guid_annotation_removed()
{
let db = yield PlacesUtils.promiseDBConnection();
Assert.equal((yield getTotalGuidAnnotationsCount(db)), 0,
"There should be no more obsolete GUID annotations.");
});