summaryrefslogtreecommitdiffstats
path: root/browser/components/urlbar/tests/unit/test_tags_extendedUnicode.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /browser/components/urlbar/tests/unit/test_tags_extendedUnicode.js
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/urlbar/tests/unit/test_tags_extendedUnicode.js')
-rw-r--r--browser/components/urlbar/tests/unit/test_tags_extendedUnicode.js66
1 files changed, 66 insertions, 0 deletions
diff --git a/browser/components/urlbar/tests/unit/test_tags_extendedUnicode.js b/browser/components/urlbar/tests/unit/test_tags_extendedUnicode.js
new file mode 100644
index 0000000000..596b439be5
--- /dev/null
+++ b/browser/components/urlbar/tests/unit/test_tags_extendedUnicode.js
@@ -0,0 +1,66 @@
+/* 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 autocomplete for non-English URLs that match the tag bug 416214. Also
+ * test bug 417441 by making sure escaped ascii characters like "+" remain
+ * escaped.
+ *
+ * - add a visit for a page with a non-English URL
+ * - add a tag for the page
+ * - search for the tag
+ * - test number of matches (should be exactly one)
+ * - make sure the url is decoded
+ */
+
+testEngine_setup();
+
+add_task(async function test_tag_match_url() {
+ Services.prefs.setBoolPref("browser.urlbar.suggest.searches", false);
+ registerCleanupFunction(() => {
+ Services.prefs.clearUserPref("browser.urlbar.suggest.searches");
+ });
+ info(
+ "Make sure tag matches return the right url as well as '+' remain escaped"
+ );
+ let uri1 = Services.io.newURI("http://escaped/ユニコード");
+ let uri2 = Services.io.newURI("http://asciiescaped/blocking-firefox3%2B");
+ await PlacesTestUtils.addVisits([
+ { uri: uri1, title: "title" },
+ { uri: uri2, title: "title" },
+ ]);
+ await PlacesTestUtils.addBookmarkWithDetails({
+ uri: uri1,
+ title: "title",
+ tags: ["superTag"],
+ style: ["bookmark-tag"],
+ });
+ await PlacesTestUtils.addBookmarkWithDetails({
+ uri: uri2,
+ title: "title",
+ tags: ["superTag"],
+ style: ["bookmark-tag"],
+ });
+ let context = createContext("superTag", { isPrivate: false });
+ await check_results({
+ context,
+ matches: [
+ makeSearchResult(context, {
+ engineName: SUGGESTIONS_ENGINE_NAME,
+ heuristic: true,
+ }),
+ makeBookmarkResult(context, {
+ uri: uri2.spec,
+ title: "title",
+ tags: ["superTag"],
+ }),
+ makeBookmarkResult(context, {
+ uri: uri1.spec,
+ title: "title",
+ tags: ["superTag"],
+ }),
+ ],
+ });
+ await cleanupPlaces();
+});