Luxar Viewer API Documentation - v2026.10.19
    Preparing search index...

    Module tests/_conformance/define-behaviour-conformance

    The runner that holds one row of the geometry-behaviour matrix against the code.

    A row's probe file calls defineBehaviourConformance once, with the row id and a BehaviourProbe. It emits one test per geometry type:

    • a 'yes' cell runs probe.holds(type), which drives real code through that type's adapter and asserts the behaviour;
    • an absent cell runs the probe's checker for the cell's declared enforcedBy, which asserts the refusal message, the hidden predicate, or the unchanged state. A probe that has no checker for a declared enforcement fails the cell, so an absent cell can never pass by not being looked at.

    Follows the shape of tests/unit/data/_shared/refinement-loop-contract.ts: one shared contract, thin per-type adapters, called from the file that owns the fixtures. That is also why the probes are not all in one file — several rows need module mocks (vi.mock) that are per file.

    BehaviourProbe
    EnforcementCheck
    defineBehaviourConformance