Commit b5b88ad
committed
test(python): unit tests for FR5d referrer/target population
Eight in-process tests asserting every FR5d site populates the
ResolvedSource envelope correctly:
- extends: → referrer=entity name (bare per fqn() semantics; aligns
with TS — objects at root do not inherit the root package), target=
the unresolved super ref.
- @payloadRef → referrer=template name, target=the unresolved
payloadRef.
- @requiredSlots → referrer=template name, target=payloadRef.slot.
- @via single-hop → referrer=projection::field, target=full @via ref,
message names deepest-valid-prefix.
- @via multi-hop → deepest-valid-prefix walks the resolved hops and
names the last one that did resolve (Program.weeks).
- @Of nonexistent entity → referrer=projection::field, target=full
@Of ref.
- @Of existing entity but missing field → same shape.
- Shape contract: resolved envelope carries the referrer's files +
json_path so editors can jump to the broken declaration.
Mirrors TS fr5d-reference-resolution-errors.test.ts; the Python
referrer values are bare names (no package prefix) — same as TS
today, per fqn() semantics. Reconciliation across Python/TS vs
Java/C# captured in the FR5d-finalize cross-port report.1 parent 8046c68 commit b5b88ad
1 file changed
Lines changed: 565 additions & 0 deletions
0 commit comments