diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_generator.py | 25 | ||||
| -rw-r--r-- | tests/test_injector.py | 32 | ||||
| -rw-r--r-- | tests/test_interceptor.py | 6 | ||||
| -rw-r--r-- | tests/test_loader.py | 6 | ||||
| -rw-r--r-- | tests/test_register.py | 10 |
5 files changed, 68 insertions, 11 deletions
diff --git a/tests/test_generator.py b/tests/test_generator.py index 5994e768..ce33f4ff 100644 --- a/tests/test_generator.py +++ b/tests/test_generator.py @@ -1,4 +1,4 @@ -from infini.generator import TextGenerator +from infini.generator import Generator, TextGenerator from infini.injector import Injector from infini.output import Output @@ -44,3 +44,26 @@ def test_generator_injector(): ) == "[苏向夜]Event1 文本: 变量测试" ) + + +def test_register_generator(): + def name(nickname: str = "苏向夜"): + return nickname + + custom = TextGenerator() + custom.type = "custom_text" + + generator = Generator() + generator.events = { + "test.event1": "[{{ card_name }}]Event1 文本: {{ var }}", + } + generator.generators.update({"custom_text": custom}) + + generator.global_variables = {"card_name": name} + assert ( + generator.output( + Output("custom_text", "test.event1", variables={"var": "变量测试"}), + Injector(), + ) + == "[苏向夜]Event1 文本: 变量测试" + ) diff --git a/tests/test_injector.py b/tests/test_injector.py index 426e5684..ccd040ba 100644 --- a/tests/test_injector.py +++ b/tests/test_injector.py @@ -1,4 +1,9 @@ +from infini.handler import Handler from infini.injector import Injector +from infini.input import Input +from infini.loader import Loader +from infini.output import Output +from infini.router import Startswith def test_injector(): @@ -12,3 +17,30 @@ def test_injector(): injector.parameters = {"a": 12, "b": 20, "c": 0, "card_name": name} assert injector.inject(add)() == 32 assert injector.output(add) == 32 + + +def test_handler_injector(): + input = Input("test_message") + + def absolute(input: Input, plain_text: str) -> Output: + return input.output( + "text", + plain_text, + status=0, + block=False, + ) + + handler = Handler() + handler.handlers = [ + { + "priority": 2, + "router": Startswith(".add"), + "handler": absolute, + }, + ] + + core = Loader().into_core() + core.handler = handler + + for output in core.input(input): + assert output == "test_message" diff --git a/tests/test_interceptor.py b/tests/test_interceptor.py index ffb03d56..ded63471 100644 --- a/tests/test_interceptor.py +++ b/tests/test_interceptor.py @@ -27,10 +27,12 @@ def test_interceptor(): assert isinstance(valid_output, Input) assert valid_output.get_plain_text() == "这个叫苏向夜." - for output in interceptor.output("简律纯"): + for output in interceptor.output(Output("text", "none", block=True), "简律纯"): assert isinstance(output, Output) assert output.name == "block.jianlvchun" - for output in interceptor.output("这个叫苏向夜."): + for output in interceptor.output( + Output("text", "none", block=True), "这个叫苏向夜." + ): assert isinstance(output, str) assert output == "这个叫苏向夜." diff --git a/tests/test_loader.py b/tests/test_loader.py index 05716b60..82c1dc7b 100644 --- a/tests/test_loader.py +++ b/tests/test_loader.py @@ -18,10 +18,10 @@ def test_loader(): def test_handler(_: Input): return Output("text", "block.snh", block=True) - register.regist_textevent("block.sxy", "不可直呼{{ sxy_id }}的ID") - register.regist_textevent("block.snh", "不许撅{{ get_snh_id }}") + register.register_textevent("block.sxy", "不可直呼{{ sxy_id }}的ID") + register.register_textevent("block.snh", "不许撅{{ get_snh_id }}") - register.regist_variable("sxy_id", "苏向夜") + register.register_variable("sxy_id", "苏向夜") @register.dynamic_variable() def get_snh_id(): diff --git a/tests/test_register.py b/tests/test_register.py index ea857a15..654836f1 100644 --- a/tests/test_register.py +++ b/tests/test_register.py @@ -1,5 +1,5 @@ from infini.core import Core -from infini.generator import TextGenerator +from infini.generator import Generator from infini.handler import Handler from infini.injector import Injector from infini.input import Input @@ -22,10 +22,10 @@ def test_register(): def test_handler(_: Input): return Output("text", "block.snh", block=True) - register.regist_textevent("block.sxy", "不可直呼{{ sxy_id }}的ID") - register.regist_textevent("block.snh", "不许撅{{ get_snh_id }}") + register.register_textevent("block.sxy", "不可直呼{{ sxy_id }}的ID") + register.register_textevent("block.snh", "不许撅{{ get_snh_id }}") - register.regist_variable("sxy_id", "苏向夜") + register.register_variable("sxy_id", "苏向夜") @register.dynamic_variable() def get_snh_id(): @@ -39,7 +39,7 @@ def test_register(): pre_interceptor.interceptors = register.pre_interceptors handler = Handler() handler.handlers = register.handlers - generator = TextGenerator() + generator = Generator() generator.events = register.events generator.global_variables = register.global_variables interceptor = Interceptor() |
