62 lines
2 KiB
JavaScript
62 lines
2 KiB
JavaScript
/* 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/. */
|
|
|
|
"use strict";
|
|
|
|
// Test that the about:debugging document and the profiler dialog document
|
|
// use the expected document direction.
|
|
add_task(async function test_direction_is_ltr_by_default() {
|
|
await testAboutDebuggingDocsDirection("ltr");
|
|
});
|
|
|
|
add_task(async function test_direction_is_rtl_for_bidi_pseudolocale() {
|
|
await pushPref("intl.l10n.pseudo", "bidi");
|
|
await testAboutDebuggingDocsDirection("rtl");
|
|
});
|
|
|
|
async function testAboutDebuggingDocsDirection(expectedDir) {
|
|
const mocks = new Mocks();
|
|
const { document, usbClient } = await setupTestForMockUSBRuntime(mocks);
|
|
|
|
is(document.dir, expectedDir, "document dir is " + expectedDir);
|
|
|
|
info("Open the profiler dialog");
|
|
await openProfilerDialog(usbClient, document);
|
|
|
|
const profilerDialogFrame = document.querySelector(
|
|
".qa-profiler-dialog iframe"
|
|
);
|
|
ok(profilerDialogFrame, "Found Profiler dialog iframe");
|
|
|
|
const profilerDoc = profilerDialogFrame.contentWindow.document;
|
|
is(profilerDoc.dir, expectedDir, "Profiler document dir is " + expectedDir);
|
|
|
|
await teardownTestForMockUSBRuntime(mocks, document);
|
|
}
|
|
|
|
async function setupTestForMockUSBRuntime(mocks) {
|
|
info("Setup mock USB runtime");
|
|
|
|
const usbClient = mocks.createUSBRuntime("runtimeId", {
|
|
deviceName: "deviceName",
|
|
name: "runtimeName",
|
|
});
|
|
|
|
info("Open about:debugging and select runtime page for mock USB runtime");
|
|
const { document } = await openAboutDebugging();
|
|
|
|
mocks.emitUSBUpdate();
|
|
await connectToRuntime("deviceName", document);
|
|
await selectRuntime("deviceName", "runtimeName", document);
|
|
|
|
return { document, usbClient };
|
|
}
|
|
|
|
async function teardownTestForMockUSBRuntime(mocks, doc) {
|
|
info("Remove mock USB runtime");
|
|
|
|
mocks.removeUSBRuntime("runtimeId");
|
|
mocks.emitUSBUpdate();
|
|
await waitUntilUsbDeviceIsUnplugged("deviceName", doc);
|
|
}
|