summaryrefslogtreecommitdiffstats
path: root/browser/components/urlbar/tests/browser/browser_results_format_displayValue.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/urlbar/tests/browser/browser_results_format_displayValue.js')
-rw-r--r--browser/components/urlbar/tests/browser/browser_results_format_displayValue.js76
1 files changed, 76 insertions, 0 deletions
diff --git a/browser/components/urlbar/tests/browser/browser_results_format_displayValue.js b/browser/components/urlbar/tests/browser/browser_results_format_displayValue.js
new file mode 100644
index 0000000000..d0ec3d3818
--- /dev/null
+++ b/browser/components/urlbar/tests/browser/browser_results_format_displayValue.js
@@ -0,0 +1,76 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+add_task(async function test_receive_punycode_result() {
+ let url = "https://www.اختبار.اختبار.org:5000/";
+
+ // eslint-disable-next-line jsdoc/require-jsdoc
+ class ResultWithHighlightsProvider extends UrlbarTestUtils.TestProvider {
+ startQuery(context, addCallback) {
+ let result = Object.assign(
+ new UrlbarResult(
+ UrlbarUtils.RESULT_TYPE.URL,
+ UrlbarUtils.RESULT_SOURCE.HISTORY,
+ ...UrlbarResult.payloadAndSimpleHighlights(context.tokens, {
+ url: [url, UrlbarUtils.HIGHLIGHT.TYPED],
+ })
+ ),
+ { suggestedIndex: 0 }
+ );
+ addCallback(this, result);
+ }
+
+ getViewUpdate(result, idsByName) {
+ return {};
+ }
+ }
+ let provider = new ResultWithHighlightsProvider();
+
+ registerCleanupFunction(async () => {
+ UrlbarProvidersManager.unregisterProvider(provider);
+ await UrlbarTestUtils.promisePopupClose(window, () => gURLBar.blur());
+ gURLBar.handleRevert();
+ });
+ UrlbarProvidersManager.registerProvider(provider);
+
+ info("Open the result popup");
+ await UrlbarTestUtils.promiseAutocompleteResultPopup({
+ value: "org",
+ window,
+ fireInputEvent: true,
+ });
+ let row = await UrlbarTestUtils.waitForAutocompleteResultAt(window, 0);
+ is(row.result.type, UrlbarUtils.RESULT_TYPE.URL, "row.result.type");
+ is(
+ row.result.payload.displayUrl,
+ "اختبار.اختبار.org:5000",
+ "Result is trimmed and formatted correctly."
+ );
+ is(
+ row.result.payload.title,
+ "www.اختبار.اختبار.org:5000",
+ "Result is trimmed and formatted correctly."
+ );
+
+ let firstRow = document.querySelector(".urlbarView-row");
+ let firstRowUrl = firstRow.querySelector(".urlbarView-url");
+
+ is(
+ firstRowUrl.innerHTML.charAt(0),
+ "\u200e",
+ "UrlbarView row url contains LRM"
+ );
+ // Tests if highlights are correct after inserting lrm symbol
+ is(
+ firstRowUrl.querySelector("strong")?.innerText,
+ "org",
+ "Correct part of url is highlighted"
+ );
+ is(
+ firstRow.querySelector(".urlbarView-title strong")?.innerText,
+ "org",
+ "Correct part of title is highlighted"
+ );
+});