paper-burner/tests/README_TESTS.md

143 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 📚 Tests 目录
本目录包含所有与表格渲染修复相关的测试文件和文档。
---
## 📂 目录结构
### 🎯 核心文档(必读)
- **[IMPLEMENTATION_COMPLETE.md](IMPLEMENTATION_COMPLETE.md)** - 实施完成报告
- **[TABLE_RENDERING_FIX_SUMMARY.md](TABLE_RENDERING_FIX_SUMMARY.md)** - 详细技术文档
- **[TEST_FILES_GUIDE.md](TEST_FILES_GUIDE.md)** - 测试文件使用指南
### ⭐ 推荐测试页面
1. **[test-table-fix-visual-comparison.html](test-table-fix-visual-comparison.html)** - 前后对比(最佳视觉效果)
2. **[test-renderbatch-table-fix.html](test-renderbatch-table-fix.html)** - 完整渲染流程测试
3. **[test-fix-diagnostic.html](test-fix-diagnostic.html)** - 诊断页面
### 📋 表格渲染测试
- `test-table-rendering.html` - 基础表格渲染测试5个测试用例
- `test-compressed-table-fix.html` - 压缩表格修复演示
- `test-compressed-debug.html` - 压缩表格调试
- `test-table-debug.html` - 表格调试页面
### 🔬 公式渲染测试
- `test-all-formula-fixes.html` - 综合公式测试
- `test-formula-issues.html` - 常见公式问题
- `test-brace-issue.html` - 花括号公式
- `test-double-dollar.html` - 块级公式
- `test-inline-formula-fix.html` - 行内公式
- `test-specific-formulas.html` - 特定公式案例
### 🧪 其他测试文件
本目录还包含项目其他部分的测试文件如注释、词汇表、AST 等)。
---
## 🚀 快速开始
### 从项目根目录运行测试
```bash
# Windows
start tests/test-table-fix-visual-comparison.html
# 或使用 macOS/Linux
open tests/test-table-fix-visual-comparison.html
```
### 查看文档
```bash
# 在 VSCode 中打开主文档
code tests/IMPLEMENTATION_COMPLETE.md
# 查看测试文件使用指南
code tests/TEST_FILES_GUIDE.md
```
---
## ✅ 验证修复效果
### 1. 打开推荐测试页面
```bash
start tests/test-table-fix-visual-comparison.html
```
### 2. 刷新实际应用
-`Ctrl + Shift + R` 清除缓存并刷新
- 打开包含表格的文档(如 Block #31
### 3. 检查控制台日志
`F12` 打开浏览器开发者工具,应该看到:
```
[renderBatch] 检测到 paragraph token 包含表格语法
[SubBlockSegmenter] 跳过分块以保持表格完整性
[renderBatch] 重新渲染表格成功
```
### 4. 验证表格渲染
- 所有表格应显示为 `<table>` 元素(而非 `<p>`
- 表格应有边框和表头背景色
- 压缩表格已自动展开为多行格式
---
## 📖 详细说明
### 三层修复机制
1. **第一层**Token 类型检测与强制转换
- 检测被误判为 paragraph 的表格
- 强制修正 token 类型为 table
2. **第二层**:优先使用 AST 渲染器
- MarkdownProcessorAST 支持压缩表格修复
- 自动展开单行表格为多行格式
3. **第三层**:后验检查与重新渲染
- 如果仍然是 `<p>` 则提取内容重新渲染
- 兜底保护确保表格正确显示
### 修复的问题
- ✅ 压缩表格自动修复(单行表格展开)
- ✅ Sub-block 分割器保护表格(不分割)
- ✅ 强制正确的 token 类型
- ✅ 60+ LaTeX 公式错误自动修正
- ✅ 表格中的公式正确渲染
---
## 🐛 故障排除
如果表格仍然无法正确显示:
1. **清除缓存**`Ctrl + Shift + R`
2. **检查脚本加载**:打开控制台,执行:
```javascript
console.log(typeof MarkdownProcessorAST); // 应该输出 'object'
console.log(typeof FormulaPostProcessor); // 应该输出 'object'
```
3. **启用调试模式**
```javascript
localStorage.setItem('ENABLE_SUBBLOCK_DEBUG', 'true');
```
4. **查看详细文档**[TEST_FILES_GUIDE.md](TEST_FILES_GUIDE.md) 中有完整的故障排除指南
---
## 📞 更多信息
- **技术实现详情**:查看 [TABLE_RENDERING_FIX_SUMMARY.md](TABLE_RENDERING_FIX_SUMMARY.md)
- **测试流程建议**:查看 [TEST_FILES_GUIDE.md](TEST_FILES_GUIDE.md)
- **完整实施报告**:查看 [IMPLEMENTATION_COMPLETE.md](IMPLEMENTATION_COMPLETE.md)
---
**状态**: ✅ 所有修复已完成并测试通过
**最后更新**: 2025-11-12