From 577d4f257e52a4b840b9970f138491d7710364dc Mon Sep 17 00:00:00 2001 From: DawnFire42 Date: Thu, 9 Jul 2026 14:23:26 -0400 Subject: [PATCH] Add tests for CounterNames::isTaxCounter reserved-name guard --- .../counter_command_auth_test.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/command_zone_tests/counter_command_auth_test.cpp b/tests/command_zone_tests/counter_command_auth_test.cpp index bf61156b9..8214efd12 100644 --- a/tests/command_zone_tests/counter_command_auth_test.cpp +++ b/tests/command_zone_tests/counter_command_auth_test.cpp @@ -150,6 +150,25 @@ TEST(EvaluateSetCounterActive, RejectsDisablingPartnerTaxWhenAccumulated) Response::RespContextError); } +// CounterNames::isTaxCounter (guards cmdCreateCounter against reserved names) + +TEST(CounterNamesIsTaxCounter, RejectsCommanderTaxName) +{ + EXPECT_TRUE(CounterNames::isTaxCounter(CounterNames::CommanderTax)); +} + +TEST(CounterNamesIsTaxCounter, RejectsPartnerTaxName) +{ + EXPECT_TRUE(CounterNames::isTaxCounter(CounterNames::PartnerTax)); +} + +TEST(CounterNamesIsTaxCounter, AllowsOrdinaryName) +{ + EXPECT_FALSE(CounterNames::isTaxCounter("life")); + EXPECT_FALSE(CounterNames::isTaxCounter("poison")); + EXPECT_FALSE(CounterNames::isTaxCounter("")); +} + // evaluateModifyCounter (shared by cmdIncCounter / cmdSetCounter) TEST(EvaluateModifyCounter, RejectsWhenGameNotStarted)