Skip to content

Commit

Permalink
diversion: Add unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
MattHag authored and pfps committed May 5, 2024
1 parent 1d5b61f commit 20d3402
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions tests/logitech_receiver/test_diversion.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,30 @@ def test_load_rule_config(rule_config):
for components, expected_components in zip(user_configured_rules.components, expected_rules):
for component, expected_component in zip(components.components, expected_components):
assert isinstance(component, expected_component)


def test_diversion_rule():
args = [
{
"Rule": [ # Implement problematic keys for Craft and MX Master
{"Rule": [{"Key": ["Brightness Down", "pressed"]}, {"KeyPress": "XF86_MonBrightnessDown"}]},
{"Rule": [{"Key": ["Brightness Up", "pressed"]}, {"KeyPress": "XF86_MonBrightnessUp"}]},
]
},
]

rule = diversion.Rule(args)

assert len(rule.components) == 1
root_rule = rule.components[0]
assert isinstance(root_rule, diversion.Rule)

assert len(root_rule.components) == 2
for component in root_rule.components:
assert isinstance(component, diversion.Rule)
assert len(component.components) == 2

key = component.components[0]
assert isinstance(key, diversion.Key)
key = component.components[1]
assert isinstance(key, diversion.KeyPress)

0 comments on commit 20d3402

Please sign in to comment.