// Test with details pref disabled - details commands should have no effect
await SpecialPowers.pushPrefEnv({
set: [
["dom.element.commandfor.on_details.enabled", false],
]
});
details.removeAttribute("open");
ok(!details.open, "[pref=false] Details should start closed");
toggleBtn.click();
ok(!details.open, "[pref=false] Toggle should have no effect on closed details");
toggleBtn.click();
ok(details.open, "[pref=false] Toggle should have no effect on open details");
closeBtn.click();
ok(details.open, "[pref=false] Close should have no effect");
details.removeAttribute("open");
openBtn.click();
ok(!details.open, "[pref=false] Open should have no effect");
// Test popover commands with pref disabled - should still work (handled by base class)
ok(!popoverDetails.matches(":popover-open"), "[pref=false] Popover details should start hidden");
showPopoverBtn.click();
ok(popoverDetails.matches(":popover-open"), "[pref=false] show-popover should show popover details");
showPopoverBtn.click();
ok(popoverDetails.matches(":popover-open"), "[pref=false] show-popover on visible popover should keep it visible");
hidePopoverBtn.click();
ok(!popoverDetails.matches(":popover-open"), "[pref=false] hide-popover should hide popover details");
hidePopoverBtn.click();
ok(!popoverDetails.matches(":popover-open"), "[pref=false] hide-popover on hidden popover should keep it hidden");
togglePopoverBtn.click();
ok(popoverDetails.matches(":popover-open"), "[pref=false] toggle-popover should show hidden popover");
togglePopoverBtn.click();
ok(!popoverDetails.matches(":popover-open"), "[pref=false] toggle-popover should hide visible popover");
// Test with details pref enabled - details commands should work
await SpecialPowers.pushPrefEnv({
set: [["dom.element.commandfor.on_details.enabled", true]]
});
details.removeAttribute("open");
ok(!details.open, "[pref=true] Details should start closed");
toggleBtn.click();
ok(details.open, "[pref=true] Toggle on closed details should open it");
toggleBtn.click();
ok(!details.open, "[pref=true] Toggle on open details should close it");
openBtn.click();
ok(details.open, "[pref=true] Open command should open closed details");
openBtn.click();
ok(details.open, "[pref=true] Open command on open details should keep it open");
closeBtn.click();
ok(!details.open, "[pref=true] Close command should close open details");
closeBtn.click();
ok(!details.open, "[pref=true] Close command on closed details should keep it closed");
// Test popover commands with pref enabled - should still work
ok(!popoverDetails.matches(":popover-open"), "[pref=true] Popover details should start hidden");
showPopoverBtn.click();
ok(popoverDetails.matches(":popover-open"), "[pref=true] show-popover should show popover details");
hidePopoverBtn.click();
ok(!popoverDetails.matches(":popover-open"), "[pref=true] hide-popover should hide popover details");
togglePopoverBtn.click();
ok(popoverDetails.matches(":popover-open"), "[pref=true] toggle-popover should show hidden popover");
togglePopoverBtn.click();
ok(!popoverDetails.matches(":popover-open"), "[pref=true] toggle-popover should hide visible popover");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.