Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

var conn = PlacesUtils.history.DBConnection;
/**
* Gets a single column value from either the places or historyvisits table.
*/
function getColumn(table, column, url) {
var stmt = conn.createStatement(
`SELECT ${column} FROM ${table} WHERE url_hash = hash(:val) AND url = :val`
);
try {
stmt.params.val = url;
stmt.executeStep();
return stmt.row[column];
} finally {
stmt.finalize();
}
}
add_task(async function () {
// Make sure titles are correctly saved for a URI with the proper
// notifications.
const titleChangedPromise =
PlacesTestUtils.waitForNotification("page-title-changed");
const url1 =
await BrowserTestUtils.openNewForegroundTab(gBrowser, url1);
const url2 =
let loadPromise = BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);
BrowserTestUtils.startLoadingURIString(gBrowser.selectedBrowser, url2);
await loadPromise;
const events = await titleChangedPromise;
is(
events[0].url,
);
is(events[0].title, "Some title");
is(events[0].pageGuid, getColumn("moz_places", "guid", events[0].url));
const title = getColumn("moz_places", "title", events[0].url);
is(title, events[0].title);
gBrowser.removeCurrentTab();
await PlacesUtils.history.clear();
});