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.html";
add_task(async function () {
const { inspector, view } = await openFontInspectorForURL(TEST_URI);
const viewDoc = view.document;
await testDiv(inspector, viewDoc);
await testNestedSpan(inspector, viewDoc);
await testUpdatedValues(inspector, viewDoc);
await testRoundedValues(inspector, viewDoc);
});
async function testDiv(inspector, viewDoc) {
await selectNode("DIV", inspector);
const { value, unit } = getPropertyValue(viewDoc, "font-size");
is(value + unit, "1em", "DIV should be have font-size of 1em");
}
async function testNestedSpan(inspector, viewDoc) {
await selectNode(".nested-span", inspector);
const { value, unit } = getPropertyValue(viewDoc, "font-size");
isnot(
value + unit,
"1em",
"Nested span should not reflect parent's font size."
);
is(
value + unit,
"36px",
"Nested span should have computed font-size of 36px"
);
}
async function testUpdatedValues(inspector, viewDoc) {
await selectNode(".updated-value", inspector);
const sizeInput = viewDoc.querySelector(
`.font-value-input[name="font-size"]`
);
is(sizeInput.value, "1", "font-size value is 1 before editing");
info("Updating style attribute in markup view");
await SpecialPowers.spawn(gBrowser.selectedBrowser, [], () => {
content.document.querySelector(".updated-value").style.fontSize = "2em";
});
await inspector.once("fonteditor-updated");
is(sizeInput.value, "2", "font-size value is 2 after editing");
const onFocus = once(sizeInput, "focus");
sizeInput.focus();
await onFocus;
is(sizeInput.value, "2", "font-size value is 2 after focusing");
}
async function testRoundedValues(inspector, viewDoc) {
await selectNode(".rounded-value", inspector);
const sizeInput = viewDoc.querySelector(
`.font-value-input[name="font-size"]`
);
is(
sizeInput.value,
"1.111111",
"font-size value is not rounded before focusing"
);
let onFocus = once(sizeInput, "focus");
sizeInput.focus();
await onFocus;
is(
sizeInput.value,
"1.111111",
"font-size value is not rounded when focused"
);
const onEditorUpdated = inspector.once("fonteditor-updated");
sizeInput.blur();
await onEditorUpdated;
is(sizeInput.value, "1.111", "font-size value is rounded when blurred");
onFocus = once(sizeInput, "focus");
sizeInput.focus();
await onFocus;
is(sizeInput.value, "1.111", "font-size value is rounded when focused again");
}