"""Tests for QQ-safe text sanitization in MessageHandler.""" from types import SimpleNamespace import pytest pytest.importorskip("botpy") from src.handlers.message_handler_ai import MessageHandler def _handler() -> MessageHandler: fake_bot = SimpleNamespace(robot=SimpleNamespace(id="test_bot", name="TestBot")) return MessageHandler(fake_bot) def test_plain_text_removes_markdown_link_url(): handler = _handler() text = "参考 [Wikipedia](https://en.wikipedia.org/wiki/Wikipedia) 获取详情。" result = handler._plain_text(text) assert "Wikipedia" in result assert "http" not in result.lower() def test_plain_text_removes_bare_url(): handler = _handler() text = "访问 https://example.com/path?a=1 或 www.example.org 查看。" result = handler._plain_text(text) assert "http" not in result.lower() assert "www." not in result.lower() assert "[链接已省略]" in result