def test_reject_rule_editor(windows, plugin, dialog_sleep): """Test editing a reject rule. """ r = RejectRule(suffixes=['foo', 'bar']) w = RejectRuleView(plugin=plugin, rule=r) window = ContainerTestingWindow(widget=w) window.show() process_app_events() assert w.widgets()[-1].text == 'foo, bar' sleep(dialog_sleep) w.widgets()[-1].text = 'bar' process_app_events() assert r.suffixes == ['bar'] sleep(dialog_sleep) r.suffixes = ['foo'] process_app_events() assert w.widgets()[-1].text == 'foo' sleep(dialog_sleep) w.widgets()[-1].text = 'bar, foo, barfoo' process_app_events() assert r.suffixes == ['bar', 'foo', 'barfoo'] sleep(dialog_sleep) assert w.validate()[0] r.suffixes = [] assert not w.validate()[0]
def test_reject_rule(monitor): """Test rejecting an entry. """ r = RejectRule(suffixes=['value']) r.try_apply('root/test_index', monitor) assert len(monitor.displayed_entries) == 3 r.try_apply('root/test_value', monitor) assert len(monitor.displayed_entries) == 2 assert monitor.undisplayed_entries[0].path == 'root/test_value' r.try_apply('root/test_number', monitor) assert len(monitor.displayed_entries) == 2
def test_handle_database_change2(monitor): """ Test handling the adding of an entry subject to a reject rule. """ monitor.rules.append(RejectRule(id='Test', suffixes=['test'])) monitor.handle_database_change(('added', 'root/make_test', 1)) assert monitor.monitored_entries == [] assert not monitor.displayed_entries assert len(monitor.undisplayed_entries) == 1 assert not monitor.hidden_entries assert monitor.undisplayed_entries[0].depend_on == ['root/make_test'] assert monitor._database_values == {'root/make_test': 1} assert not monitor.updaters
def handle_rule_edition(dialog): dialog.monitor.rules.append(RejectRule(id='__dummy', suffixes=['test2'])) dialog.monitor.refresh_monitored_entries()
def create(dial): dial.rule = RejectRule(id='__dummy', suffixes=['f'])