Skip to content

Commit 5d4bd4a

Browse files
committed
test(live): 给档位接线补源码级判据
纯单测只证明「函数本体对」,抓不到「函数写好了但没接线」(本批已知失效形态: 定义在、调用点 0)。补一条对**剥注释后的源码文本**的接线断言:start_live_session 必须真的调用 seed_initial_tier(&override_slot, resolved_tier) 与 resolve_start_tier。
1 parent c6a4cb7 commit 5d4bd4a

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

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

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,25 @@ fn start_tier_does_not_touch_downgrade_confirm_slot() {
7171
let _ = seed_initial_tier(&manager.profile_override_slot(), Some(VisualTier::Low));
7272
assert!(manager.tier_override().lock().unwrap().is_none());
7373
}
74+
75+
/// ① 的**接线面**(V9 类判据的补牙):start_live_session 必须真的把解析结果写进覆写槽。
76+
///
77+
/// @ai-context: 纯单测只证明「函数本体对」——抓不到「函数写好了但没接线」(本批已知的
78+
/// 失效形态:定义在、调用点 0)。故对**剥注释后的源码文本**断言调用点存在;
79+
/// 注释里提一句不算接线(与 R8.9 的假阳同源,故先剥注释)。
80+
#[test]
81+
fn start_path_seeds_tier_into_override_slot() {
82+
// Arrange:剥行注释(含 `//` 的行只保留 `://` 之前的部分——防 URL 误切)
83+
let code: String = include_str!("commands_live.rs")
84+
.lines()
85+
.map(|l| if l.contains("://") { l } else { l.split("//").next().unwrap_or("") })
86+
.collect::<Vec<_>>()
87+
.join("\n");
88+
// Assert:解析结果 → seed_initial_tier(唯一落点)
89+
assert!(
90+
code.contains("seed_initial_tier(&override_slot, resolved_tier)"),
91+
"start_live_session 未接 seed_initial_tier ⇒ 档位不随 start 生效(①的接线面断了)"
92+
);
93+
// 且 starter 内部确实先解析档位(防"接了空值")
94+
assert!(code.contains("resolve_start_tier(tier.as_deref()"), "档位解析未接入 start 路径");
95+
}

0 commit comments

Comments
 (0)