Repository navigation
Cover published managed-reference behavior with specification tests - #114
Merged
mackysoft merged 3 commits intoOct 15, 2026
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
refactor/tests-outside-package) so this diff contains the coverage work separately from the test relocation.Scope
UseToStringAsLabeland type labels through registeredEditorGUI.PropertyFieldcalls; exercise CustomPropertyDrawer rendering, height and editing.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