def test_call_noneasresult(self): plugins = PyPlugins() class api1: def m(self, __call__): return __call__.NONEASRESULT plugins.register(api1()) plugins.register(api1()) assert plugins.call_firstresult('m') is None assert plugins.call_each('m') == [None, None]
def test_call_none_is_no_result(self): plugins = PyPlugins() class api1: def m(self): return None class api2: def m(self, __call__): return 41 plugins.register(api1()) plugins.register(api1()) plugins.register(api2()) assert plugins.call_firstresult('m') == 41 assert plugins.call_each('m') == [41]
def test_call_methods(self): plugins = PyPlugins() class api1: def m(self, __call__, x): return x class api2: def m(self, __call__, x, y=33): return y plugins.register(api1()) plugins.register(api2()) res = plugins.call_firstresult("m", x=5) assert plugins.call_firstresult("notexist") is None assert res == 33 reslist = plugins.call_each("m", x=5) assert len(reslist) == 2 assert 5 in reslist assert 33 in reslist assert plugins.call_each("notexist") == [] assert plugins.call_plugin(api1(), 'm', x=12) == 12 assert plugins.call_plugin(api2(), 't') is None