Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
/* Any copyright is dedicated to the Public Domain.
"use strict";
// Test that commented properties can be added and are disabled.
const TEST_URI = "<div id='testid'></div>";
add_task(async function () {
await addTab("data:text/html;charset=utf-8," + encodeURIComponent(TEST_URI));
const { inspector, view } = await openRuleView();
await selectNode("#testid", inspector);
info("Test creating a new set of commented and uncommented properties");
info("Focusing a new property name in the rule-view");
const ruleEditor = getRuleViewRuleEditorAt(view, 0);
const editor = await focusEditableField(view, ruleEditor.closeBrace);
is(
inplaceEditor(ruleEditor.newPropSpan),
editor,
"The new property editor has focus"
);
info(
"Entering a commented property/value pair into the property name editor"
);
const input = editor.input;
input.value = `color: blue;
/* background-color: yellow; */
width: 200px;
height: 100px;
/* padding-bottom: 1px; */`;
info("Pressing return to commit and focus the new value field");
const onModifications = view.once("ruleview-changed");
EventUtils.synthesizeKey("VK_RETURN", {}, view.styleWindow);
await onModifications;
// Hitting Enter focuses a new empty declaration, blur the input so we don't have
// to deal with it.
view.styleDocument.activeElement.blur();
await checkRuleViewContent(view, [
{
selector: `element`,
selectorEditable: false,
declarations: [
{
name: "color",
value: "blue",
dirty: true,
},
{
name: "background-color",
value: "yellow",
dirty: true,
enabled: false,
// disabled declarations use the same class as we do for "overridden"
overridden: true,
},
{
name: "width",
value: "200px",
dirty: true,
},
{
name: "height",
value: "100px",
dirty: true,
},
{
name: "padding-bottom",
value: "1px",
enabled: false,
// disabled declarations use the same class as we do for "overridden"
overridden: true,
dirty: true,
},
],
},
]);
});