From 47c8a27d0dfd77838ce51bc4dc81fb2a5e6c8b60 Mon Sep 17 00:00:00 2001 From: Joywayer Date: Thu, 27 Aug 2026 18:01:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8C=E4=B8=83=E7=8E=8B=EF=BC=9A=E8=A1=A5?= =?UTF-8?q?=E5=85=A8=E5=87=BA=E7=89=8C=20handler=20=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E9=87=8C=20chupai3=20=E5=90=84=E7=94=A8=E4=BE=8B=E7=9A=84=20tu?= =?UTF-8?q?rn.seat=20=E6=96=AD=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 三条 chupai3 用例(不带 grade 那条、跨包累加的两条)之前都带了 nextseat 字段却没验证它,读起来像遗漏,也让"chupai3 同样会推进控制权"这件事只被 验证了一次。补齐后四条 chupai3 用例均验证 turn.seat;跨包累加的两条从 turn.seat 由 0 变 1,顺带证明了第二个包确实被处理,不只是看 grade 一个数字。 只改测试文件,PlayHandler.js 未改动。 Co-Authored-By: Claude Opus 5 (1M context) --- client/tests/test_handlers_play.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/client/tests/test_handlers_play.js b/client/tests/test_handlers_play.js index a97f483..1e4cf27 100644 --- a/client/tests/test_handlers_play.js +++ b/client/tests/test_handlers_play.js @@ -63,6 +63,7 @@ S.reset(); S.aset.grade = 40; EQW_PlayHandler.handle({ success: true, seat: 2, cards: [9,10], maxseat: 1, nextseat: 1, countdown: 15 }, 3); t.eq('无 grade 时累计分保持', S.aset.grade, 40); +t.eq('无 grade 时仍推进控制权', S.turn.seat, 1); // grade 是「本轮」得分,要跨包累加进小局捡分,不是赋值—— // 若实现改成 aset.grade = data.grade,这条会把 25 覆盖成 15 而非累加到 25 @@ -70,9 +71,11 @@ S.reset(); EQW_PlayHandler.handle({ success: true, seat: 2, cards: [1,2], maxseat: 0, grade: 10, nextseat: 0, countdown: 15 }, 3); t.eq('第一轮捡分', S.aset.grade, 10); +t.eq('第一轮下一轮首家', S.turn.seat, 0); EQW_PlayHandler.handle({ success: true, seat: 2, cards: [3,4], maxseat: 1, grade: 15, nextseat: 1, countdown: 15 }, 3); t.eq('第二轮跨包累加捡分', S.aset.grade, 25); +t.eq('第二轮下一轮首家(证明第二个包确被处理)', S.turn.seat, 1); // ================= 甩错 ================= S.reset(); evts.length = 0;