Files
sporel-lib-core.api-discove…/README.md
Axel Meyer 338fd050de test(api-discovery): add comment-strip and namespace-less assertions
Adds 9 new assertions covering the two recent api-discovery fixes:

parse_lua_surface (4 new):
- commented-out function-declarations are stripped (function-form and
  assignment-form)
- inline-comment after a real declaration does not break the match

parse_readme_api (5 new):
- namespace-less H3 headers (e.g. \`run_tests(ctx)\`) are captured
- mixed namespaced + namespace-less in the same section captures both
  without duplicates

Coverage Statement updated: 43 -> 52 total assertions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 17:51:40 +02:00

32 lines
1.6 KiB
Markdown

# lib-core.api-discovery-test
Test-lib for `lib-core.api-discovery` (Tests-as-Libs per ADR-0037).
## Coverage Statement
Per Fault-Injection-Audit-Convention (2026-05-16):
| Function | Assertion-Count | Coverage |
|---|---|---|
| `parse_lua_surface` | 19 | Happy-path (2 public + 1 private), empty-source edge, sugar-form (`function M.foo`), mixed-form (sugar + explicit), comment-stripping (commented stubs, inline-comment after code) |
| `parse_readme_api` | 9 | Standard H3-pattern, no-API-section edge, namespace-less function (e.g. `run_tests`), mixed namespaced + namespace-less |
| `diff_surface` | 5 | Equal (no diff), surface-superset (missing), doc-superset (stale) |
| `grep_engine_calls` | 5 | 3 unique calls, no-calls edge |
| `generate_topology_block` | 6 | Lib-with-deps+engine, asset-lib (no deps, no engine) |
| `validate_readme_structure` | 8 | Complete core, missing-API core, missing-Topology, missing-Badges, community-tier-no-enforcement |
| **TOTAL** | **52** | |
### Tested-Surface
- All 6 public functions of `lib-core.api-discovery` v0.1.0.
### Structurally Untestable
- Idiomatic-edge: `M.foo = function ... end` mit Multi-Line-Body wird durch pattern-line-match abgedeckt; very-creative-patterns (z.B. dynamic `_ENV[k] = function...`) sind by-design out-of-scope.
- Doc-quality (sind die Function-Descriptions akkurat?) — sentiment-level question, kein assertion-target.
### Deferred
- Mutation-Audit der Test-Lib selbst (analog 2026-05-16 Test-Coverage-Audit) — Folge-Slice.
## Running
Wird automatisch via `--test-libs=lib-core.api-discovery-test` ausgeführt (Smoke P0-S-batch Stage).