Upstream spatie/url state of the touched files before 1042a286b8
This commit is contained in:
1 parent
ef1f80eb18
commit
857983643e
2 files changed
+1
-20
No files matched your search
@@ -65,10 +65,6 @@ class QueryParameterBag implements \Stringable
|
|||||||
|
|
||||||
public function __toString(): string
|
public function __toString(): string
|
||||||
{
|
{
|
||||||
// Valueless parameters are stored as null, which http_build_query() skips;
|
return http_build_query($this->parameters, '', '&', PHP_QUERY_RFC3986);
|
||||||
// render them with an empty value so they survive.
|
|
||||||
$parameters = array_map(fn ($value) => $value ?? '', $this->parameters);
|
|
||||||
|
|
||||||
return http_build_query($parameters, '', '&', PHP_QUERY_RFC3986);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -89,21 +89,6 @@ it('can be casted to a string', function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
it('keeps valueless parameters when being casted to a string', function () {
|
|
||||||
$queryParameterBag = QueryParameterBag::fromString('offset');
|
|
||||||
|
|
||||||
expect($queryParameterBag)->has('offset')->toBeTrue();
|
|
||||||
expect($queryParameterBag)->__toString()->toEqual('offset=');
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
it('keeps valueless parameters alongside valued ones when being casted to a string', function () {
|
|
||||||
$queryParameterBag = QueryParameterBag::fromString('foo=&bar=baz');
|
|
||||||
|
|
||||||
expect($queryParameterBag)->__toString()->toEqual('foo=&bar=baz');
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
it('can be created from a string with url encoded values', function () {
|
it('can be created from a string with url encoded values', function () {
|
||||||
$queryParameterBag = QueryParameterBag::fromString(
|
$queryParameterBag = QueryParameterBag::fromString(
|
||||||
'category=storage%20furniture&discount=%3E40%25%20off&range%5B0%5D=10&range%5B1%5D=20'
|
'category=storage%20furniture&discount=%3E40%25%20off&range%5B0%5D=10&range%5B1%5D=20'
|
||||||
|
|||||||
Reference in new issue
Block a user