Skip to content

Cover published managed-reference behavior with specification tests - #114

Merged
mackysoft merged 3 commits into
refactor/tests-outside-packagefrom
test/public-specification
Oct 15, 2026
Merged

mackysoft merged 3 commits into
refactor/tests-outside-packagefrom
test/public-specification

Conversation

@mackysoft

@mackysoft mackysoft commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Add specification-based EditMode coverage for managed-reference selection, visible Inspector labels, subtype drawers and reset operations.
  • Stack on Move and expand editor tests, and avoid duplicate CI #112 (refactor/tests-outside-package) so this diff contains the coverage work separately from the test relocation.

Scope

  • Exercise real dropdown input and the public selection API, including null, matching serialized fields, nested references, array/List elements, Undo/Redo and saved-asset reload.
  • Observe rendered UseToStringAsLabel and type labels through registered EditorGUI.PropertyField calls; exercise CustomPropertyDrawer rendering, height and editing.
  • Cover missing abstract/generic inheritance and combined variance cases. Retain the existing clipboard and popup suites without duplicating Fix managed-reference pasting with explicit value and type modes #107.
  • Run the existing Linux EditMode matrix under Xvfb with software OpenGL. No product implementation changes, new runtime API, player builds or package exports.

Known product defect: the two value-type variance reproductions are Explicit, and each currently fails its candidate-exclusion assertion on 2023.2.22f1. They preserve the correct expectation and are skipped by the continuous suite until a separate product fix; this PR does not claim passing coverage for that contract.

Verification

  • Local macOS Unity 2021.3.45f2: 73 passed.

  • Local macOS Unity 2023.2.22f1: 79 passed, 2 known-defect reproductions skipped.

  • Explicit value-type variance run: 2 expected assertion failures confirming the product defect.

  • Label oracle probe on Unity 6000.3.18f1: 8 Inspector tests pass on the baseline; restoring the Fix UseToStringAsLabel on SubclassSelector attribute #99 defect (override after PrefixLabel) in a disposable project makes the scalar, array and List label assertions fail.

  • Independent code and oracle review completed; findings corrected. Label-order detection is demonstrated; other contracts have passing tests and an independent assessment of their assertions.

  • Linux PR matrix: Unity 2021.3.45f2 73 passed; Unity 2023.2.22f1 79 passed, 2 explicit reproductions skipped. Downloaded and checked both XML artifacts.

  • Final PR Verification: success for head f0901e08235189f52eb579b3eeea6eb069173a8d. The push workflow also passed.

  • Unverified conditions: mixed-value labels and multi-object dropdown edits, clipboard survival across an actual script reload, prefab override persistence, missing-type recovery and type-renaming migration.

References

Why
Published selection, label, drawer and reset behavior lacked regression tests.

What Changed
Exercise public selection APIs and registered Inspector and menu operations.
Cover inheritance and generic candidate gaps, and map tests to contract sources.
Keep two value-type variance defect reproductions explicit until a product fix.

Impact
Editor behavior is checked without fixing private package implementation details.
Existing clipboard tests and all product code remain unchanged.
Why
Rendered labels and real popup input require a graphics-capable Editor view.

What Changed
Run both Linux EditMode versions under Xvfb with software OpenGL.
Document graphics requirements and the contract-to-test map.

Impact
Inspector regressions participate in the normal Verification gate.
Player builds and package exports remain in the Release workflow.
Why
A separate test inventory duplicates the executable tests and drifts over time.

What Changed
Remove Documentation/Tests.md and its AGENTS.md reference.

Impact
Test coverage and execution stay defined by the tests and CI configuration.
@mackysoft
mackysoft merged commit 03c89ac into refactor/tests-outside-package Oct 15, 2026
8 checks passed
@mackysoft
mackysoft deleted the test/public-specification branch October 15, 2026 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant