From ffc41bed9c157dced43f6cc7a937026cf302237a Mon Sep 17 00:00:00 2001 From: AskaEth Date: Fri, 6 Nov 2026 11:50:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E5=BA=93:=20=E9=94=81=E5=B1=8F?= =?UTF-8?q?=E9=95=BF=E6=8C=89=E7=94=A8=E4=BE=8B=E5=8E=BB=E6=8E=89=E6=81=92?= =?UTF-8?q?=E7=9C=9F=E6=96=AD=E8=A8=80=EF=BC=88M30=20=E8=AF=84=E5=AE=A1=20?= =?UTF-8?q?P2-1=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 「长按清空后仍停在 ACT_LOCK」这条断言测不出清空:进入该段前只输了 "135" (3 位),而确认在 <4 位时本就 disabled,即使长按没清空也照样停在锁屏 → 断言恒真,与措辞不符。 删掉该断言与其前的空点确认;清空的真正判据仍是紧接着的「输 1357 → 确认 → 解锁」:若没清空,缓冲会是 "135"+"1357" = 7 位错码,必 FAIL。已用变异验证: 临时去掉 lock_clear_all() 后该行确实 FAIL,恢复后 PASS。 --- tuku/test/test_settings_lock_host.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tuku/test/test_settings_lock_host.c b/tuku/test/test_settings_lock_host.c index 32be336..2dc0081 100644 --- a/tuku/test/test_settings_lock_host.c +++ b/tuku/test/test_settings_lock_host.c @@ -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);