diff options
| author | 2024-01-27 13:26:36 +0800 | |
|---|---|---|
| committer | 2024-01-27 13:26:36 +0800 | |
| commit | 28e83e03185992c857c9fbba5bafe50c5d615ed7 (patch) | |
| tree | a595973ac2612066cfab6fdcb22eae14d5a046de /tests | |
| parent | 26c56c456764baffbefa804fd5e80be2fb5a936d (diff) | |
| download | infini-28e83e03185992c857c9fbba5bafe50c5d615ed7.tar.gz infini-28e83e03185992c857c9fbba5bafe50c5d615ed7.zip | |
:sparkles: feat(loader): add loader method
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_loader.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/test_loader.py b/tests/test_loader.py new file mode 100644 index 00000000..552223d3 --- /dev/null +++ b/tests/test_loader.py @@ -0,0 +1,46 @@ +from infini.input import Input +from infini.loader import Loader +from infini.output import Output +from infini.register import Register + + +def test_loader(): + blocked_god_input = Input("这是苏向夜的杰作.") + snh_input = Input("撅少年狐!") + + register = Register() + + @register.pre_interceptor("苏向夜", priority=0) + def test_pre_interceptor(_: Input): + return Output("text", "block.sxy", block=True) + + @register.handler("撅少年狐") + 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.regist_variable("sxy_id", "苏向夜") + + @register.dynamic_variable() + def get_snh_id(): + return "少年狐" + + @register.interceptor("苏向夜", priority=0) + def test_interceptor(_: Input): + return Output("text", "block.sxy", block=True) + + loader = Loader() + loader.load_from_register(register) + core = loader.output() + + for output in core.input(blocked_god_input): + assert output == "不可直呼苏向夜的ID" + + for output in core.input(snh_input): + assert output == "不许撅少年狐" + + +if __name__ == "__main__": + test_loader() |
