Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
/* Any copyright is dedicated to the Public Domain.
"use strict";
const TEST_URI = URL_ROOT + "doc_browser_fontinspector-variable.html";
add_task(async function () {
const { inspector, view } = await openFontInspectorForURL(TEST_URI);
const viewDoc = view.document;
await testWghtInteract(inspector, viewDoc);
await testInstanceChange(inspector, viewDoc);
await testOpszRounded(inspector, viewDoc);
await testInstanceWghtRounded(inspector, viewDoc);
await testAxisStepRounded(inspector, viewDoc);
});
async function testWghtInteract(inspector, viewDoc) {
await selectNode(".weight", inspector);
const wghtInput = viewDoc.querySelector(`.font-value-input[name="wght"]`);
is(wghtInput.value, "800", "wght value is 800 before focusing");
wghtInput.focus();
is(wghtInput.value, "800", "wght value is 800 after focusing");
}
async function testInstanceChange(inspector, viewDoc) {
await selectNode(".weight", inspector);
let wghtInput = viewDoc.querySelector(`.font-value-input[name="wght"]`);
is(wghtInput.value, "800", "wght value is 800 initially");
const instanceSelect = viewDoc.querySelector(
"#font-editor .font-value-select"
);
instanceSelect.focus();
const onEditorUpdated = inspector.once("fonteditor-updated");
EventUtils.sendKey("LEFT", viewDoc.defaultView);
await onEditorUpdated;
wghtInput = viewDoc.querySelector(`.font-value-input[name="wght"]`);
is(wghtInput.value, "900", "wght value is 900 after selecting new instance");
wghtInput.focus();
is(wghtInput.value, "900", "wght value is 900 after focusing");
wghtInput.blur();
}
async function testOpszRounded(inspector, viewDoc) {
await selectNode(".rounding", inspector);
const opszInput = viewDoc.querySelector(`.font-value-input[name="opsz"]`);
is(opszInput.value, "14.286", "opsz value is rounded after selecting node");
opszInput.focus();
is(opszInput.value, "14.286", "opsz value is rounded after focusing");
}
async function testInstanceWghtRounded(inspector, viewDoc) {
await selectNode(".rounding", inspector);
let wghtInput = viewDoc.querySelector(`.font-value-input[name="wght"]`);
is(wghtInput.value, "400", "wght value is 400 initially");
const instanceSelect = viewDoc.querySelector(
"#font-editor .font-value-select"
);
instanceSelect.focus();
const onEditorUpdated = inspector.once("fonteditor-updated");
EventUtils.sendKey("LEFT", viewDoc.defaultView);
await onEditorUpdated;
wghtInput = viewDoc.querySelector(`.font-value-input[name="wght"]`);
is(
wghtInput.value,
"699.444",
"wght value is rounded after selecting new instance"
);
wghtInput.focus();
is(wghtInput.value, "699.444", "wght value is rounded after focusing");
}
async function testAxisStepRounded(inspector, viewDoc) {
await selectNode(".rounding", inspector);
const wghtInput = viewDoc.querySelector(`.font-value-input[name="wght"]`);
is(wghtInput.value, "699.444", "wght value is 699.444 before stepping");
wghtInput.focus();
EventUtils.sendKey("DOWN", viewDoc.defaultView);
is(wghtInput.value, "699.333", "wght value is rounded after stepping down");
}