fune/browser/components/urlbar/tests/browser-tips/browser_updateRefresh.js
Doug Thayer ec23c3ca31 Bug 1693133 - Fix resetProfile.xhtml tests r=Gijs
BrowserTestUtils.promiseAlertDialog and friends account for commonDialog.xhtml,
but not other dialogs which go through gDialogBox. This fixes that by adding a
inWindowDialog option to promiseAlertDialog. I don't like this solution very
much - it requires all of these dialogs to fire the event themselves. An
alternative might be putting this code in some file which these all include,
but given how small the code is that feels like overkill. Alternatives welcome.

Differential Revision: https://phabricator.services.mozilla.com/D109674
2021-03-25 17:28:56 +00:00

49 lines
1.4 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
// Checks the UPDATE_REFRESH tip.
//
// The update parts of this test are adapted from:
// https://searchfox.org/mozilla-central/source/toolkit/mozapps/update/tests/browser/browser_aboutDialog_fc_check_noUpdate.js
"use strict";
let params = { queryString: "&noUpdates=1" };
let preSteps = [
{
panelId: "checkingForUpdates",
checkActiveUpdate: null,
continueFile: CONTINUE_CHECK,
},
{
panelId: "noUpdatesFound",
checkActiveUpdate: null,
continueFile: null,
},
];
add_task(async function test() {
makeProfileResettable();
// Set up the "no updates" update state.
await initUpdate(params);
UrlbarProviderInterventions.checkForBrowserUpdate(true);
await processUpdateSteps(preSteps);
// Picking the tip should open the refresh dialog. Click its cancel
// button.
await doUpdateTest({
searchString: SEARCH_STRINGS.UPDATE,
tip: UrlbarProviderInterventions.TIP_TYPE.UPDATE_REFRESH,
title: /^.+ is up to date\. Trying to fix a problem\? Restore default settings and remove old add-ons for optimal performance\.$/,
button: /^Refresh .+…$/,
awaitCallback() {
return BrowserTestUtils.promiseAlertDialog(
"cancel",
"chrome://global/content/resetProfile.xhtml",
{ isSubDialog: true }
);
},
});
});