Skip to content

[Test coverage] #139 B2 — DocumentLinkProvider entry-point smoke for no-solution mode #172

Description

@msarson

Deferred B2 from #139 / MT kanban task ecddd1a7.

Background

#139 B1 shipped entry-point smoke coverage for Hover + Implementation in no-solution mode (Tests 1 + 3) along with the Gap A fix at MemberLocatorService.resolveFilePath. Test 4 (DocumentLinkProvider.provideDocumentLinks) was deferred because the DocumentLink path requires the FileRelationshipGraph (FRG) to be built — and FRG no-solution-mode build is tracked separately under d7e34cc5. Pick up when FRG cluster lands.

Test shape

DocumentLinkProvider.provideDocumentLinks on source MyProg.clw containing INCLUDE('MyClass.inc') with MyClass.inc in libsrc, in no-solution mode (SolutionManager.instance = null, serverSettings.libsrcPaths pointed at the fixture's libsrc dir).

Bidirectional-pin shape per feedback_bidirectional_pin_assertion:

  • Positive: at least one DocumentLink returned; link target URI inside the libsrc dir; link target basename matches MyClass.inc.
  • Negative regression sentinel: source with no INCLUDEs returns empty link list (provider doesn't fabricate links).

Substrate

Reuses NoSolutionFixture + cursorPositionOf already landed in #139 Gap A close-out.

FRG seeding is the new substrate requirement — DocumentLinkProvider.provideDocumentLinks bails immediately if frg.isBuilt is false (line 26). A seedFrgForFixture(spec) helper or equivalent is the substrate add. Flagged as "FRG seeding" in #139 substrate-gap hypothesis.

Estimate

~30-45min test + 1-2hr FRG seeding substrate. Honest 2-3hr.

Cross-references

Cross-references (related #139 work)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions