summaryrefslogtreecommitdiffstats
path: root/browser/components/urlbar/tests/unit/test_escaping_escapeSelf.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /browser/components/urlbar/tests/unit/test_escaping_escapeSelf.js
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/urlbar/tests/unit/test_escaping_escapeSelf.js')
-rw-r--r--browser/components/urlbar/tests/unit/test_escaping_escapeSelf.js62
1 files changed, 62 insertions, 0 deletions
diff --git a/browser/components/urlbar/tests/unit/test_escaping_escapeSelf.js b/browser/components/urlbar/tests/unit/test_escaping_escapeSelf.js
new file mode 100644
index 0000000000..dcbb7e4c8f
--- /dev/null
+++ b/browser/components/urlbar/tests/unit/test_escaping_escapeSelf.js
@@ -0,0 +1,62 @@
+/* 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
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/**
+ * Test bug 422698 to make sure searches with urls from the location bar
+ * correctly match itself when it contains escaped characters.
+ */
+
+testEngine_setup();
+
+add_task(async function test_escape() {
+ Services.prefs.setBoolPref("browser.urlbar.autoFill", false);
+ Services.prefs.setBoolPref("browser.urlbar.suggest.searches", false);
+ registerCleanupFunction(() => {
+ Services.prefs.clearUserPref("browser.urlbar.suggest.searches");
+ });
+
+ let uri1 = Services.io.newURI("http://unescapeduri/");
+ let uri2 = Services.io.newURI("http://escapeduri/%40/");
+ await PlacesTestUtils.addVisits([
+ { uri: uri1, title: "title" },
+ { uri: uri2, title: "title" },
+ ]);
+
+ info("Unescaped location matches itself");
+ let context = createContext("http://unescapeduri/", { isPrivate: false });
+ await check_results({
+ context,
+ matches: [
+ makeVisitResult(context, {
+ uri: uri1.spec,
+ title: uri1.spec,
+ iconUri: `page-icon:${uri1.spec}`,
+ source: UrlbarUtils.RESULT_SOURCE.OTHER_LOCAL,
+ heuristic: true,
+ }),
+ // Note that uri2 does not appear in results.
+ ],
+ });
+
+ info("Escaped location matches itself");
+ context = createContext("http://escapeduri/%40", { isPrivate: false });
+ await check_results({
+ context,
+ matches: [
+ makeVisitResult(context, {
+ uri: "http://escapeduri/%40",
+ title: "http://escapeduri/%40",
+ iconUri: "page-icon:http://escapeduri/",
+ source: UrlbarUtils.RESULT_SOURCE.OTHER_LOCAL,
+ heuristic: true,
+ }),
+ makeVisitResult(context, {
+ uri: uri2.spec,
+ title: "title",
+ }),
+ ],
+ });
+
+ await cleanupPlaces();
+});