Files
sousa-gecko/devtools/client/inspector/rules/test/browser_rules_lineNumbers.js
T
Alexandre Poirot d1dccbe1ac Bug 2018530 - [devtools] refer to rules by their index in the rule list, instead of dom position. r=devtools-reviewers,nchevobbe
Stop querying `CssRuleView.element.children` from many tests as it
depends on how the frontend's DOM is organized.

Also stop assuming the order of elements between header, container and
rules and now refer to rules by their index in the rule view.
This ignores containers and headers. The 3rd rule is the 3rd potentially
displayed rule. This ignores container visibility and assume all rules
are visible.

Differential Revision: https://phabricator.services.mozilla.com/D284541
2026-02-27 08:31:05 +00:00

32 lines
1014 B
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// Test that editing a rule will update the line numbers of subsequent
// rules in the rule view.
const TESTCASE_URI = URL_ROOT + "doc_ruleLineNumbers.html";
add_task(async function () {
await addTab(TESTCASE_URI);
const { inspector, view } = await openRuleView();
await selectNode("#testid", inspector);
const bodyRuleEditor = getRuleViewRuleEditorAt(view, 2);
const value = getRuleViewLinkTextByIndex(view, 2);
// Note that this is relative to the <style>.
is(value.slice(-2), ":6", "initial rule line number is 6");
const onLocationChanged = once(
bodyRuleEditor.rule.domRule,
"location-changed"
);
await addProperty(view, 1, "font-size", "23px");
await onLocationChanged;
const newBodyTitle = getRuleViewLinkTextByIndex(view, 2);
// Note that this is relative to the <style>.
is(newBodyTitle.slice(-2), ":7", "updated rule line number is 7");
});