[12.x] Add test coverage for Uri::withQueryIfMissing method #54923
+62
−0
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.
Add test coverage for Uri::withQueryIfMissing method
This PR adds test coverage for the withQueryIfMissing method which previously had no tests. The test suite covers the following scenarios:
🔹 Adding new parameters while preserving existing ones with simple key-value pairs
🔹 Adding complex nested arrays to an empty query string with both associative and indexed arrays
🔹 Merging partial arrays while preserving existing values at the top level
🔹 Handling indexed arrays correctly by preserving them as complete entities
🔹 Adding missing nested properties in associative arrays while keeping existing ones intact
🔹 Verifying both the encoded query string format and the parsed array structure
🛡️These tests ensure that withQueryIfMissing correctly adds parameters only when they don't exist in the original URI, preserves all existing values regardless of the hierarchy level, and properly handles both simple and complex data structures in query parameters.🚀