Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
// Tests that search terms don't persist with navigating to non-SERP URIs.
// Normally, when setURI is called, dependent properties for persisted search
// like originalURI are set to a different value and the userTypedValue is
// nullified. But, we should ensure that if setURI receives a URI with a
// different origin from the originalURI, search terms will not persist.
const SEARCH_STRING = "chocolate cake";
add_setup(async function () {
await SpecialPowers.pushPrefEnv({
set: [["browser.urlbar.showSearchTerms.featureGate", true]],
});
let cleanup = await installPersistTestEngines();
registerCleanupFunction(async function () {
await PlacesUtils.history.clear();
cleanup();
});
});
add_task(async function test_search_terms_cleared_on_non_serp_host() {
let { tab } = await searchWithTab(SEARCH_STRING);
let originalURI = tab.linkedBrowser.originalURI;
Assert.equal(
originalURI.scheme,
nonSerpUri.scheme,
"Test URIs should have the same scheme."
);
Assert.notEqual(
originalURI.host,
nonSerpUri.host,
"Test URIs should have a different host."
);
gURLBar.setURI({ uri: nonSerpUri });
Assert.ok(
!gURLBar.hasAttribute("persistsearchterms"),
"Should not persist when setURI is called with a different host."
);
BrowserTestUtils.removeTab(tab);
});
add_task(async function test_search_terms_cleared_on_non_serp_scheme() {
let { tab } = await searchWithTab(SEARCH_STRING);
let originalURI = tab.linkedBrowser.originalURI;
Assert.notEqual(
originalURI.scheme,
nonSerpUri.scheme,
"Test URIs should have a different scheme."
);
Assert.equal(
originalURI.host,
nonSerpUri.host,
"Test URIs should have the same host."
);
gURLBar.setURI({ uri: nonSerpUri });
Assert.ok(
!gURLBar.hasAttribute("persistsearchterms"),
"Should not persist when setURI is called with a different scheme."
);
BrowserTestUtils.removeTab(tab);
});