aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_generator.py25
-rw-r--r--tests/test_injector.py32
-rw-r--r--tests/test_interceptor.py6
-rw-r--r--tests/test_loader.py6
-rw-r--r--tests/test_register.py10
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()