test: add schema validation tests for language and framework configs#471
test: add schema validation tests for language and framework configs#471yiziff wants to merge 1 commit into
Conversation
Add comprehensive test coverage for: - TreeSitterConfigSchema, FilePatternConfigSchema, LanguageConfigSchema - StrictLanguageConfigSchema refinement (requires extension or filename) - FrameworkConfigSchema validation (min(1) constraints, optional fields) - Batch validation: all 40 built-in language configs pass base schema - Batch validation: 37 of 40 pass strict schema (3 content-detected configs intentionally excluded: kubernetes, github-actions, json-schema) - Batch validation: all 10 built-in framework configs pass schema - Integrity checks: unique IDs, non-empty concepts, no duplicate extensions, framework languages reference valid language IDs - Framework layerHints key-value validity
|
Checked out in an isolated worktree, installed deps, built (tsc clean), and ran the suite: all 51 new tests pass, and the full core suite stays green (790 tests / 36 files). The tests are mostly substantive rather than tautological. I verified the load-bearing claims against the actual configs:
Strongest coverage: the base/strict batch trio (base passes all / content-detected fail strict / non-content-detected pass strict) genuinely locks the intended base-vs-strict distinction, and the framework→language referential-integrity check would catch a typo'd language id. Good additions. Minor points (non-blocking):
Net: solid, accurate test-only PR with real invariant coverage. Recommend addressing only the stale description numbers; the duplication is optional cleanup. |
|
Thanks for the thorough review and testing, @tirth8205 5! You are totally right about the counts — the recent addition of the Dart language config bumped the total. I've updated the PR description text to reflect the accurate numbers (41 and 38). Let me know if we are good to go! 谢谢! |
Add comprehensive test coverage for:
Summary
Linked issue(s)
How I tested this
pnpm lintpnpm --filter @understand-anything/core testpnpm testVersioning