Cockatrice/tests
Lukas Brübach 14cf4ee2a9 [Card] Bind search language per FilterString instance
The peg parser rules are set up once per process, so the GenericQuery and
OracleQuery rule actions could not capture per-instance state. Instead of
storing the search language in a process-global that FilterString instance
methods mutate, hand it to the rule actions through a thread-local parse
context and copy it into the filter closures they produce. Card evaluation
in FilterString::check no longer reads any process-global state, and each
instance keeps the language it was built with; constructing one instance no
longer changes what unrelated instances (deck filter, drop-to-hand, zone
views) match against.

The card database display model stores the raw query and rebuilds the
FilterString when the search language changes, since the language is now
bound at parse time.

Add tests for the English/Selected/Both search modes, the English fallback
for untranslated cards, and per-instance language independence.
2026-09-19 10:47:24 +02:00
..
card_zone_algorithms [Game] Preserve hand card order when restoring connection (#7266) 2026-09-07 08:21:44 +02:00
carddatabase [Card] Bind search language per FilterString instance 2026-09-19 10:47:24 +02:00
deck_list_model [Models] Mirror custom deck zones in the deck list model (#7203) 2026-09-05 22:00:20 +02:00
deck_list_zones [Client] Add zone management to the deck state manager (#7204) 2026-09-05 22:00:21 +02:00
loading_from_clipboard Fix/cmake test only build (#6709) 2026-03-15 17:24:50 +01:00
movecard_tests [Server] Consolidate Server_Game construction parameters into a GameConfig struct (#7128) 2026-08-16 19:13:03 +02:00
oracle [Client] Show localized card names, texts and pictures (#7294) 2026-09-18 12:03:07 +02:00
settings [Card] Add a setting for the language used in card search 2026-09-18 12:09:20 +02:00
clamped_arithmetic_test.cpp Unify counter clamp arithmetic into shared addClamped() helper (#7009) 2026-06-28 16:10:57 -07:00
CMakeLists.txt [Client/Server/Protocol] Surface live metrics in the Developer tab (#7212) 2026-09-11 17:18:56 +02:00
deck_hash_performance_test.cpp Hashing tests (#5026) 2025-12-23 17:48:10 +01:00
dummy_test.cpp Clang script (#3085) 2018-02-06 08:45:13 -05:00
expression_test.cpp Turn Card, Deck_List, Protocol, RNG, Network (Client, Server), Settings and Utility into libraries and remove cockatrice_common. (#6212) 2025-10-09 07:36:12 +02:00
lag_monitor_test.cpp [Client] Detect main-thread event loop stalls (#7155) 2026-08-23 00:53:40 +02:00
latency_tracker_test.cpp [Network] Measure real server round-trip times (#7153) 2026-08-23 00:03:52 +02:00
metrics_registry_test.cpp [Client/Server/Protocol] Surface live metrics in the Developer tab (#7212) 2026-09-11 17:18:56 +02:00
password_hash_test.cpp [Security] Use a CSPRNG for salts, tokens, and RNG seeding (#7192) 2026-09-04 13:49:18 +02:00
playmat_resolver_test.cpp [Game] Playmats (#7101) 2026-08-21 10:40:49 +02:00
server_card_counter_test.cpp Split trice_limits.h into dedicated headers (#7025) 2026-06-29 14:37:52 -07:00
server_counter_test.cpp Centralize counter API with server-side bounds and no-op filtering (#6879) 2026-05-21 20:39:35 -07:00
server_developer_role_test.cpp [Server/Client/Protocol] Add developer staff role (#7211) 2026-09-11 17:18:56 +02:00
server_rate_limiter_test.cpp [PictureLoader] Schedule exponential backoff on 429 - Too many request handler and call failed on fail (#7053) 2026-08-08 22:55:27 +02:00
test_age_formatting.cpp do not save a const reference to the user data in the info dialog (#6974) 2026-06-09 23:35:00 -07:00
warning_categories_test.cpp [Server/Client/Protocol] Reporting users + moderation queue functionality (#7091) 2026-08-21 15:00:13 +02:00