def runTest(self): sys.stdout.write('\n') # Load an event system events = EventManager() #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n))) # Load rulesets rulesets = RulesetBattery() #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n))) rulesets.load_objects(events, rules) self.assertIsNotNone(events.rules.get('example', None), 'Failed to load test ruleset') # Load plugins! plugins = ReactorBattery() #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n))) plugins.load_objects(events, reactors, 'Plugin') self.assertIsNotNone(events.map.get('example', None), 'Event bindings failed') events.rules['example'].reset_called() # Fire an event! events.trigger(Event('example')) # Test Results! self.assertTrue(events.rules['example'].called, 'Example ruleset not called properly') self.assertTrue(plugins.loaded['Example'].full_test, 'Example reactor not called properly')
def runTest(self): sys.stdout.write('\n') # Load an event system events = EventManager( ) #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n))) # Load rulesets rulesets = RulesetBattery( ) #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n))) rulesets.load_objects(events, rules) self.assertIsNotNone(events.rules.get('example', None), 'Failed to load test ruleset') # Load plugins! plugins = ReactorBattery( ) #stddebug=lambda n: sys.stdout.write('{0}\n'.format(n))) plugins.load_objects(events, reactors, 'Plugin') self.assertIsNotNone(events.map.get('example', None), 'Event bindings failed') events.rules['example'].reset_called() # Fire an event! events.trigger(Event('example')) # Test Results! self.assertTrue(events.rules['example'].called, 'Example ruleset not called properly') self.assertTrue(plugins.loaded['Example'].full_test, 'Example reactor not called properly')
def test_conditional_event(self): mgr = EventManager() self.handled = False def handler(event): self.handled = True binding = mgr.bind(handler, 'basic', condition=1) self.assertEqual( binding.__class__, Binding, 'EventManager().bind() returned something other than an instance of Binding' ) mgr.trigger(Event('basic')) self.assertFalse( self.handled, 'Conditional event handler called for the wrong event') mgr.trigger(Event('basic', [('condition', 0)])) self.assertFalse( self.handled, 'Conditional event handler called for the wrong event') mgr.trigger(Event('basic', [('condition', 1)])) self.assertTrue(self.handled, 'Conditional event handler not called')
class TestRulesetLoading(unittest.TestCase): def setUp(self): self.events = EventManager() self.events.define_rules('example', example.Ruleset) def test_actually_loaded(self): # Test that the ruleset was properly loaded in the setup bit. self.assertTrue(len(self.events.rules) > 1, 'No additional rulesets loaded. Further tests will fail') rules = self.events.rules.get('example', None) self.assertIsNotNone(rules, 'Example ruleset not loaded properly. Further tests will fail')
def test_basic_decorator_event(self): mgr = EventManager() handles = mgr.handler self.handled = False @handles('basic') def handler(event): self.handled = True self.assertTrue(hasattr(handler, 'binding'), 'Decorator did not apply a binding to the handler') self.assertEqual(handler.binding.__class__, Binding, 'Decorator applied something other than an instance of Binding') mgr.trigger(Event('something')) self.assertFalse(self.handled, 'Decorated event handler called for the wrong event') mgr.trigger(Event('basic')) self.assertTrue(self.handled, 'Decorated event handler not called')
class TestRuleset(unittest.TestCase): def setUp(self): self.events = EventManager() self.events.define_rules('example', example.Ruleset) self.rules = self.events.rules.get('example', None) self.reactor = Example.Plugin(self.events) def test_bind(self): self.assertTrue(self.rules.called, 'Either the ruleset was not called or the reactor failed') def test_unbind(self): self.rules.reset_called() self.reactor.unbind(self.reactor.rule_test, 'example') self.assertTrue(self.rules.called, 'Unbind called on the wrong object') def test_run(self): self.rules.reset_called() self.events.trigger(Event('example')) self.assertTrue(self.rules.called, 'Event runner called on the wrong object')
def test_conditional_event(self): mgr = EventManager() self.handled = False def handler(event): self.handled = True binding = mgr.bind(handler, 'basic', condition=1) self.assertEqual(binding.__class__, Binding, 'EventManager().bind() returned something other than an instance of Binding') mgr.trigger(Event('basic')) self.assertFalse(self.handled, 'Conditional event handler called for the wrong event') mgr.trigger(Event('basic', [('condition', 0)])) self.assertFalse(self.handled, 'Conditional event handler called for the wrong event') mgr.trigger(Event('basic', [('condition', 1)])) self.assertTrue(self.handled, 'Conditional event handler not called')
def test_basic_decorator_event(self): mgr = EventManager() handles = mgr.handler self.handled = False @handles('basic') def handler(event): self.handled = True self.assertTrue(hasattr(handler, 'binding'), 'Decorator did not apply a binding to the handler') self.assertEqual( handler.binding.__class__, Binding, 'Decorator applied something other than an instance of Binding') mgr.trigger(Event('something')) self.assertFalse(self.handled, 'Decorated event handler called for the wrong event') mgr.trigger(Event('basic')) self.assertTrue(self.handled, 'Decorated event handler not called')
def setUp(self): self.events = EventManager() self.reactor = Example.Plugin(self.events)
class main: def __init__(self): self.events = EventManager() self.load() self.events.trigger(Event('reload')) def load(self): self.reactors = [] self.reactors.append(example(self.events)) self.reactors.append(example2(self.events)) self.events.bind('main app', self.reload, 'reload') self.events.trigger(Event('ready')) def reload(self, event=None, *args): self.events.trigger(Event('reloading')) self.events.clear_bindings() self.reactors = [] self.load() self.events.trigger(Event('reloaded'))
def setUp(self): self.events = EventManager() self.events.define_rules('example', example.Ruleset) self.rules = self.events.rules.get('example', None) self.reactor = Example.Plugin(self.events)
class TestReactor(unittest.TestCase): def setUp(self): self.events = EventManager() self.reactor = Example.Plugin(self.events) def test_basic_event(self): # Test a basic event # This should not call evt_handler self.events.trigger(Event('something')) self.assertFalse(self.reactor.handled, 'Basic event handler called for the wrong event') #This should do the trick self.events.trigger(Event('basic')) self.assertTrue(self.reactor.handled, 'Basic event handler not called') self.reactor.reset() def test_conditional_event(self): # Test a conditional event # Should be false. self.events.trigger(Event('conditional', [('condition', 0)])) self.assertFalse( self.reactor.handled, 'Conditional event handler called for the wrong event') # Shoud be true self.events.trigger(Event('conditional', [('condition', 1)])) self.assertTrue(self.reactor.handled, 'Conditional event handler not called') self.reactor.reset() def test_decorated_event(self): # Test a decorated event # Should be false. self.events.trigger(Event('something')) self.assertFalse(self.reactor.handled, 'Event handler called for the wrong event') # Shoud be true self.events.trigger(Event('decorated')) self.assertTrue(self.reactor.handled, 'Decorated event handler not called') self.reactor.reset()
def setUp(self): self.events = EventManager() self.events.define_rules('example', example.Ruleset)
class TestReactor(unittest.TestCase): def setUp(self): self.events = EventManager() self.reactor = Example.Plugin(self.events) def test_basic_event(self): # Test a basic event # This should not call evt_handler self.events.trigger(Event('something')) self.assertFalse(self.reactor.handled, 'Basic event handler called for the wrong event') #This should do the trick self.events.trigger(Event('basic')) self.assertTrue(self.reactor.handled, 'Basic event handler not called') self.reactor.reset() def test_conditional_event(self): # Test a conditional event # Should be false. self.events.trigger(Event('conditional', [('condition', 0)])) self.assertFalse(self.reactor.handled, 'Conditional event handler called for the wrong event') # Shoud be true self.events.trigger(Event('conditional', [('condition', 1)])) self.assertTrue(self.reactor.handled, 'Conditional event handler not called') self.reactor.reset() def test_decorated_event(self): # Test a decorated event # Should be false. self.events.trigger(Event('something')) self.assertFalse(self.reactor.handled, 'Event handler called for the wrong event') # Shoud be true self.events.trigger(Event('decorated')) self.assertTrue(self.reactor.handled, 'Decorated event handler not called') self.reactor.reset()
from reflex.data import Event from reflex.control import EventManager events = EventManager() def handler(event, *args): print("Hello, world!") events.bind(handler, 'example') events.trigger(Event('example')) # prints "Hello, world!"
def setUp(self): self.events = EventManager()
from reflex.data import Event from reflex.control import EventManager from reflex.interfaces import Reactor class example(Reactor): name = 'example' def init(self): self.bind(self.event_handler, 'basic') def event_handler(self, event, *args): print("Hello, world!") events = EventManager() obj = example(events) events.trigger(Event('basic')) # Prints "Hello, world!"
args = msg.split(' ') # Create an event object! cmd = Event('command', [('cmd', args[0]), ('user', event.user), ('ns', event.ns), ('message', msg), ('args', args), ('raw', event.raw)]) # Trigger the event! self.trigger(cmd, dAmn) # Below are our command handlers! def c_about(self, cmd, dAmn): dAmn.say(cmd.ns, '{0}: Reflex bot by photofroggy.'.format(cmd.user)) def c_quit(self, cmd, dAmn): dAmn.say(cmd.ns, '{0}: Closing down!'.format(cmd.user)) dAmn.flag.quitting = True dAmn.disconnect() if __name__ == '__main__': # So yeah, create an event manager. events = EventManager() # How about a client? dAmn = MyClient('username', 'password', 'admin', '!', ['chat:Botdom'], events) # Start the client! This will connect it to dAmn! # dAmn Viper essentially runs its own main loop. dAmn.start() # EOF
from reflex.data import Event from reflex.control import EventManager from reflex.interfaces import Reactor class example(Reactor): name = 'example' def init(self): self.bind(self.handler, 'basic', source='main') self.bind(self.use_args, 'args') def handler(self, event, *args): print("Hello, world!") def use_args(self, event, *args): print("Event triggered by {0} since because {1}.".format(event.source, args[0])) events = EventManager() obj = example(events) # The following event trigger is not handled by anything. events.trigger(Event('basic')) # The next event trigger is handled by the handler method. events.trigger(Event('basic', [('source', 'main')])) # This one is yes. events.trigger(Event('args', [('source', 'main')]), 'pickles')
def __init__(self): self.events = EventManager() self.load() self.events.trigger(Event('reload'))