Skip to content

Preserve blank query values when combining URLs - #318

Merged
dgilland merged 2 commits into
dgilland:developfrom
jaredrainsha:fix/url-blank-query-values
Oct 17, 2026
Merged

dgilland merged 2 commits into
dgilland:developfrom
jaredrainsha:fix/url-blank-query-values

Conversation

@jaredrainsha

Copy link
Copy Markdown
Contributor

URL query parameters with empty values are silently dropped when parsing existing paths: url("https://example.com/path?a=&b=1") returns only b=1, while an empty string supplied through keyword arguments is kept.

Preserve blank values when parsing each path's query string. Add six regression/compatibility cases covering explicit and bare empty values, repeated keys, an empty key, multiple paths, and keyword parameters. The tests compare complete URLs so parsing the expected result cannot hide a missing parameter.

Validation:

  • The same six cases on unchanged develop: 5 failed, 1 passed; with the fix: 6 passed.
  • tox run -e py310,py311,py312,py313,py314: all five environments passed inv ci, including package/docs builds, ruff, mypy, generated chaining-type consistency, and 2,482 tests/doctests per version with 100% coverage.
  • The initial run exposed an existing unquoted temporary-path command when the checkout path contained a space. The complete matrix was rerun successfully with the identical patch in a path without spaces; no checks were changed or skipped.

AI assistance: Codex assisted with reproduction, implementation, regression tests, validation, diff review, and PR preparation.

@coveralls

Copy link
Copy Markdown

Coverage Status

coverage: 100.0%. remained the same — jaredrainsha:fix/url-blank-query-values into dgilland:develop

@dgilland
dgilland merged commit c091e8d into dgilland:develop Oct 17, 2026
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.

3 participants