76 lines
2.3 KiB
JavaScript
76 lines
2.3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
/**
|
|
* Tests if cyrillic text is rendered correctly in the source editor
|
|
* when loaded directly from an HTML page.
|
|
*/
|
|
|
|
add_task(async function () {
|
|
const { monitor } = await initNetMonitor(CYRILLIC_URL, {
|
|
requestCount: 1,
|
|
});
|
|
info("Starting test... ");
|
|
|
|
const { document, store, windowRequire } = monitor.panelWin;
|
|
const Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
|
|
const { getDisplayedRequests, getSortedRequests } = windowRequire(
|
|
"devtools/client/netmonitor/src/selectors/index"
|
|
);
|
|
|
|
store.dispatch(Actions.batchEnable(false));
|
|
|
|
let wait = waitForNetworkEvents(monitor, 1);
|
|
await reloadBrowser();
|
|
await wait;
|
|
|
|
const requestItem = document.querySelectorAll(".request-list-item")[0];
|
|
const requestsListStatus = requestItem.querySelector(".status-code");
|
|
requestItem.scrollIntoView();
|
|
EventUtils.sendMouseEvent({ type: "mouseover" }, requestsListStatus);
|
|
await waitUntil(() => requestsListStatus.title);
|
|
await waitForDOMIfNeeded(requestItem, ".requests-list-timings-total");
|
|
|
|
verifyRequestItemTarget(
|
|
document,
|
|
getDisplayedRequests(store.getState()),
|
|
getSortedRequests(store.getState())[0],
|
|
"GET",
|
|
CYRILLIC_URL,
|
|
{
|
|
status: 200,
|
|
statusText: "OK",
|
|
}
|
|
);
|
|
|
|
wait = waitForDOM(document, "#headers-panel");
|
|
EventUtils.sendMouseEvent(
|
|
{ type: "mousedown" },
|
|
document.querySelectorAll(".request-list-item")[0]
|
|
);
|
|
await wait;
|
|
|
|
wait = waitForDOM(document, "#response-panel .data-header");
|
|
clickOnSidebarTab(document, "response");
|
|
await wait;
|
|
|
|
wait = waitForDOM(document, "#response-panel .CodeMirror-code");
|
|
const header = document.querySelector(
|
|
"#response-panel .raw-data-toggle-input .devtools-checkbox-toggle"
|
|
);
|
|
clickElement(header, monitor);
|
|
await wait;
|
|
|
|
// CodeMirror will only load lines currently in view to the DOM. getValue()
|
|
// retrieves all lines pending render after a user begins scrolling.
|
|
const text = document.querySelector(".CodeMirror").CodeMirror.getValue();
|
|
|
|
ok(
|
|
text.includes("\u0411\u0440\u0430\u0442\u0430\u043d"),
|
|
"The text shown in the source editor is correct."
|
|
);
|
|
|
|
return teardown(monitor);
|
|
});
|