二七王:补全出牌 handler 测试里 chupai3 各用例的 turn.seat 断言

三条 chupai3 用例(不带 grade 那条、跨包累加的两条)之前都带了 nextseat
字段却没验证它,读起来像遗漏,也让"chupai3 同样会推进控制权"这件事只被
验证了一次。补齐后四条 chupai3 用例均验证 turn.seat;跨包累加的两条从
turn.seat 由 0 变 1,顺带证明了第二个包确实被处理,不只是看 grade 一个数字。

只改测试文件,PlayHandler.js 未改动。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-27 18:01:56 +08:00
co-authored by Claude Opus 5
parent 5a77e4b132
commit 47c8a27d0d
+3
View File
@@ -63,6 +63,7 @@ S.reset(); S.aset.grade = 40;
EQW_PlayHandler.handle({ success: true, seat: 2, cards: [9,10], maxseat: 1, EQW_PlayHandler.handle({ success: true, seat: 2, cards: [9,10], maxseat: 1,
nextseat: 1, countdown: 15 }, 3); nextseat: 1, countdown: 15 }, 3);
t.eq('无 grade 时累计分保持', S.aset.grade, 40); t.eq('无 grade 时累计分保持', S.aset.grade, 40);
t.eq('无 grade 时仍推进控制权', S.turn.seat, 1);
// grade 是「本轮」得分,要跨包累加进小局捡分,不是赋值—— // grade 是「本轮」得分,要跨包累加进小局捡分,不是赋值——
// 若实现改成 aset.grade = data.grade,这条会把 25 覆盖成 15 而非累加到 25 // 若实现改成 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, EQW_PlayHandler.handle({ success: true, seat: 2, cards: [1,2], maxseat: 0, grade: 10,
nextseat: 0, countdown: 15 }, 3); nextseat: 0, countdown: 15 }, 3);
t.eq('第一轮捡分', S.aset.grade, 10); 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, EQW_PlayHandler.handle({ success: true, seat: 2, cards: [3,4], maxseat: 1, grade: 15,
nextseat: 1, countdown: 15 }, 3); nextseat: 1, countdown: 15 }, 3);
t.eq('第二轮跨包累加捡分', S.aset.grade, 25); t.eq('第二轮跨包累加捡分', S.aset.grade, 25);
t.eq('第二轮下一轮首家(证明第二个包确被处理)', S.turn.seat, 1);
// ================= 甩错 ================= // ================= 甩错 =================
S.reset(); evts.length = 0; S.reset(); evts.length = 0;