File tree Expand file tree Collapse file tree 2 files changed +27
-0
lines changed
Expand file tree Collapse file tree 2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -1471,6 +1471,7 @@ def handle_rule(self, rule: QSSRule) -> None:
14711471 ":" in rule .selector
14721472 and "::" not in rule .selector
14731473 and "," not in rule .selector
1474+ and not re .search (r"\[[^\]]*:[^\]]*\]" , rule .selector )
14741475 ):
14751476 base_rule = rule .clone_without_pseudo_elements ()
14761477 self ._merge_or_add_rule (base_rule )
Original file line number Diff line number Diff line change @@ -1474,6 +1474,32 @@ def test_to_string_with_qproperty(self) -> None:
14741474 self .errors , [], "Valid qproperty QSS should produce no errors"
14751475 )
14761476
1477+ def test_event_qproperty_defined (self ) -> None :
1478+ """
1479+ Test the rule_added event for rules containing qproperty attributes.
1480+ """
1481+ rules_added : List [QSSRule ] = []
1482+ self .parser .on (ParserEvent .RULE_ADDED , lambda rule : rules_added .append (rule ))
1483+ self .parser .parse (self .qss )
1484+ print (rules_added )
1485+ print ("Teste" , self .parser .to_string ())
1486+ self .assertEqual (
1487+ len (rules_added ), 3 , "Should trigger rule_added for each qproperty rule"
1488+ )
1489+ selectors : set = {rule .selector for rule in rules_added }
1490+ self .assertEqual (
1491+ selectors ,
1492+ {
1493+ "QPushButton" ,
1494+ "#customButton" ,
1495+ '.iconButton[qproperty-icon="url(:/icons/test.png)"]' ,
1496+ },
1497+ "Should capture all selectors with qproperty attributes" ,
1498+ )
1499+ self .assertEqual (
1500+ self .errors , [], "Valid qproperty QSS should produce no errors"
1501+ )
1502+
14771503
14781504if __name__ == "__main__" :
14791505 unittest .main ()
You can’t perform that action at this time.
0 commit comments