Repository navigation
Fix form control value and label contracts; cover Password guidance - #60
Merged
Merged
Conversation
Exclude caller value declarations even when the initial value is empty; preserve Element empty-property semantics. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Match other text-entry controls and add DOM relationship coverage across applicable controls with default and custom IDs. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Exercise all existing guidance cases using Password's constructor without an initial value. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Merged
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.
Resolve the remaining form-control contract regressions and guidance coverage gap against current main, with each issue isolated in its own commit:
64dc552(Prevent inputProps value from overriding an empty constructor value #54): Ignore caller-suppliedvalueproperties in TextInput and EmailInput, including repeated and mixed-case declarations, so empty and nonempty constructor values retain ownership. Preserve unrelated native properties and Element's general empty-property behavior.4352816(Preserve EmailInput label association when labelProps supplies for #57): Apply EmailInput's generated labelforafter caller label properties. Parameterized DOM tests cover default/custom IDs and unrelated label properties across TextInput, EmailInput, Password, TextArea, and single/multiple dropdowns.2f89114(Include Password in the shared ControlGuidanceTest matrix #56): Add Password to every existing shared guidance case, using its constructor without an initial value.Update directly related README guidance. Caller-owned escaping and native wrapperProps deprecation/containerProps behavior are unchanged.
Validation on PHP 8.5.2:
composer test -- --filter 'ControlContractTest|TextInputTest|EmailInputTest|ElementBaselineTest'— passed (60 tests, 396 assertions).composer test -- --filter 'ControlContractTest|EmailInputTest'— passed (65 tests, 545 assertions).composer test -- --filter ControlGuidanceTest— passed (88 tests, 1,578 assertions).composer production— passed: PHPCS, PHPStan (no errors), PHPUnit (267 tests, 2,529 assertions).git diff --check— passed.The added regressions reproduced the original empty-value failures and both default/custom EmailInput label failures before their runtime fixes.
List of issues fixed
Fixes #54
Fixes #57
Fixes #56