图库: 锁屏长按用例去掉恒真断言(M30 评审 P2-1)

「长按清空后仍停在 ACT_LOCK」这条断言测不出清空:进入该段前只输了 "135"
(3 位),而确认在 <4 位时本就 disabled,即使长按没清空也照样停在锁屏 →
断言恒真,与措辞不符。

删掉该断言与其前的空点确认;清空的真正判据仍是紧接着的「输 1357 → 确认 →
解锁」:若没清空,缓冲会是 "135"+"1357" = 7 位错码,必 FAIL。已用变异验证:
临时去掉 lock_clear_all() 后该行确实 FAIL,恢复后 PASS。
This commit is contained in:
AskaEth committed 2026-11-06 11:50:22 +08:00
1 parent 87f4ad0a82
commit ffc41bed9c
1 file changed
+5 -3
+5 -3
View File
@@ -311,11 +311,13 @@ int main(void)
"lock view consumes LONG_PRESS before the no-op callback");
meow_input_touch_release();
CHECK(meow_input_pop(&lp) == 0, "long-press release does not emit a stray TAP");
lock_tap_key(lock, LK_KOK);
CHECK(meow_ui_activity_active() == ACT_LOCK, "long-press backspace cleared input");
/* 「到底清没清空」不在这里断言:此刻缓冲只有 "135"(3 位),而确认在 <4 位时本就
* disabled,任何「仍停在 ACT_LOCK」的判断都恒真、测不出清空(M30 评审 P2-1)。
* 真正的判据是下一段:若没清空,缓冲会变成 "135"+"1357" = 7 位错码 → 校验失败。 */
lock_type(lock, "1357");
lock_tap_key(lock, LK_KOK);
CHECK(meow_ui_activity_active() == ACT_LIBRARY, "unlock after long-press clear");
CHECK(meow_ui_activity_active() == ACT_LIBRARY,
"unlock after long-press clear (7-digit buffer would fail if not cleared)");
/* 解锁后 app.c 关掉长按:不得把长按语义泄漏到书库/阅读器(按住稍久的点击仍算 TAP)。 */
meow_ui_set_long_press_cb(NULL);