- Set 'enable_escape_fix' to False by default to prevent accidental corruption - Improve LaTeX display math identification using regex protection - Update documentation to reflect opt-in recommendation for escape fixes - Fix Issue #57 remaining aggressive escaping bugs
3.0 KiB
3.0 KiB
Markdown Normalizer v1.2.8 测试用例集
您可以将以下内容逐个复制到 OpenWebUI 的聊天框中,以验证插件的各项修复功能。
用例 1:验证 SQL 代码块换行修复 (需要手动开启配置)
测试目的:验证 enable_escape_fix_in_code_blocks 开关是否生效。
前提条件:请先在插件 Valves 设置中将 enable_escape_fix_in_code_blocks 设置为 开启 (True)。
复制以下内容:
请帮我美化这段 SQL 的排版,使其恢复正常换行:
```sql
SELECT * \n FROM users \n WHERE status = 'active' \n AND created_at > '2024-01-01' \n ORDER BY id DESC;
**预期效果**:SQL 代码块内的 `\n` 消失,变为整齐的多行 SQL 语句。
---
## 用例 2:验证上下文感知保护 (防止误伤技术内容)
**测试目的**:验证插件是否能准确识别“纯文本”和“代码区域”,只修复该修复的地方。
**配置要求**:默认配置即可。
**复制以下内容:**
```text
这是一个综合测试用例。
1. 普通文本修复测试:
这是第一行\\n这是第二行(你应该看到这里发生了换行)。
2. 行内代码保护测试(不应被修改):
- 正则表达式:`[\n\r\t]`
- Windows 路径:`C:\Windows\System32\drivers\etc\hosts`
- 转义测试:`\\n` 应该保持字面量。
3. LaTeX 命令保护测试:
这里的数学公式 $\times \theta \nu \sum$ 应该渲染正常,反斜杠不应被修掉。
4. 现代 LaTeX 定界符转换:
\[ E = mc^2 \]
(上面这行应该被自动转换为 $$ 包围的块级公式)
预期效果:
- 第一部分的
\\n成功换行。 - 第二部分反引号
`里的内容原封不动。 - 第三部分的希腊字母公式渲染正常。
- 第四部分的
\[变成了$$且能正常显示公式。
用例 3:验证思维链与详情标签规范化
测试目的:验证对 <thought> 和 <details> 标签的排版优化。
复制以下内容:
<thinking>
这是一个正在思考的思维链。
</thinking>
<details>
<summary>点击查看详情</summary>
这里的排版通常容易出错。
</details>
紧接着详情标签的文字(应该和上面有空行隔开)。
预期效果:
<thinking>标签被统一为<thought>。</details>标签下方自动注入了空行,防止与正文粘连导致渲染失效。
用例 4:极端压力与回滚测试 (稳定性验证)
测试目的:模拟复杂嵌套环境,验证 100% 回滚机制。
复制以下内容:
尝试混合所有复杂元素:
- 列表项 1
- 列表项 2 with `inline \\n code`
- $ \text{Math } \alpha $
```sql
-- SQL with nested issue
SELECT 'literal \n string' FROM `table`;
End of test
**预期效果**:
- 无论内部处理逻辑多么复杂,插件都应保证输出稳定的结果。
- 如果模拟任何内部崩溃(技术人员可用),消息会回滚至此原始文本,不会导致页面白屏。