🧹 Refactor test_token_uniqueness using strum EnumIter - #158
Tcode-Motion merged 1 commit into
Conversation
Replaced the manually hardcoded array of `TokenKind` variants in `test_token_uniqueness` with an automatic iterator derived via `strum`. This prevents future bugs where newly added tokens could be omitted from the uniqueness check. Includes adding `strum` and `strum_macros` to the `techscript_syntax` dependencies. Co-authored-by: Tcode-Motion <188012755+Tcode-Motion@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
🎯 What: Refactored the excessively long
test_token_uniquenessfunction incompiler/syntax/tests/syntax_tests.rs. Replaced the manual 100+ line array ofTokenKindvariants with programmatic iteration. Addedstrumandstrum_macrostotechscript_syntaxto deriveEnumIter.💡 Why: Manually maintaining an array of enum variants in tests is a major source of technical debt. When new token kinds are added, developers easily forget to update this test, causing blind spots. This change automatically covers all existing and future variants, significantly improving code maintainability.
✅ Verification: Verified by running
cargo test -p techscript_syntaxand the entire workspace tests (cargo test --workspace). The test logic correctly handles duplicate overlaps intentionally found with formatted strings by skippingFStringExprStartandFStringExprEnd.✨ Result: A dramatic reduction in line count and improved robustness for token lexeme uniqueness verification.
PR created automatically by Jules for task 8998720381908996873 started by @Tcode-Motion