Skip to content

Commit 3f6413e

Browse files
committed
fix(note-filter): TD-2026-08-30-B 根因修复——golden 补 asr 段激活视频路径
1 parent 781e412 commit 3f6413e

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

‎app/src-tauri/src/note_filter_golden_tests.rs‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,10 @@ fn session31_video_page_junk_single_char_and_correction() {
181181
/// 会话29 实证:直播 UI 不进画面要点(回归——v0.7.3 LiveUi 口径持续生效)。
182182
#[test]
183183
fn session29_live_ui_excluded_from_points() {
184-
// Arrange:直播互动按钮 + 直播间正文
184+
// Arrange:直播互动按钮 + 直播间正文。须带 asr 段激活视频画面要点路径——
185+
// v0.12.0 正文源多态后,无 asr 的纯块输入走 OcrDirect(图文链路语义,
186+
// 垃圾/水印过滤在采集端),断言视频路径需有语音段(TD-2026-08-30-B 根因)
187+
let segments = vec![asr(1, 0, 2_000, "直播开始前的暖场讲解内容句子足够长")];
185188
let blocks = vec![
186189
block(1_000, "1人正在看", 0.9),
187190
block(1_000, "发送", 0.9),
@@ -190,7 +193,7 @@ fn session29_live_ui_excluded_from_points() {
190193
block(1_000, "直播间的朋友们大家好", 0.9),
191194
];
192195
// Act
193-
let result = run("测试", &[], &blocks);
196+
let result = run("测试", &segments, &blocks);
194197
let all: String = result.ocr_points.join("\n");
195198
// Assert:互动按钮全滤;直播间正文(含"直播"词内)不误杀
196199
for junk_word in ["1人正在看", "发送", "下载", "预约"] {

‎app/src-tauri/src/note_filter_tests.rs‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,10 @@ fn ui_junk_fallback_filtered() {
156156

157157
#[test]
158158
fn ocr_points_exclude_watermark_junk_and_dupes() {
159-
// Arrange:水印"学习资料"每帧出现(7 帧跨 60s+,内容在变);UI 垃圾块;重复块
159+
// Arrange:水印"学习资料"每帧出现(7 帧跨 60s+,内容在变);UI 垃圾块;重复块。
160+
// 带占位 asr 段激活视频画面要点路径(v0.12.0 后无 asr 纯块走 OcrDirect——
161+
// 该路径 ocr_points 恒空且净化链极简,TD-2026-08-30-B 根因)
162+
let segments = vec![asr(1, 0, 2_000, "课程开场的暖场讲解内容句子足够长一些")];
160163
let mut blocks: Vec<SessionOcrBlock> = Vec::new();
161164
for i in 0..7 {
162165
blocks.push(block(i * 10_000, "学习资料", 0.9));
@@ -167,7 +170,7 @@ fn ocr_points_exclude_watermark_junk_and_dupes() {
167170
blocks.push(block(90_000, "牛顿第二定律", 0.9));
168171
blocks.push(block(100_000, "噪声", 0.3));
169172
// Act
170-
let result = run("测试", &[], &blocks);
173+
let result = run("测试", &segments, &blocks);
171174
// Assert:水印/UI 垃圾/低分/重复全排除,正文保留
172175
assert!(result.ocr_points.iter().any(|p| p.contains("牛顿第二定律")));
173176
assert!(!result.ocr_points.iter().any(|p| p.contains("学习资料")));

0 commit comments

Comments
 (0)