'null' =>
['', 'foo', null
],
'string' =>
['?foo=bar', 'foo', 'bar'
],
'boolean-false' =>
['?foo=0', 'foo', false
],
'boolean-true' =>
['?foo=1', 'foo', true
],
'object implementing __toString()' =>
['?foo=bar', 'foo',
new StringableObject()],
'object implementing __toString() but has public property' =>
['?foo%5Bfoo%5D=property', 'foo',
new StringableObjectWithPublicProperty()],
'object implementing __toString() in nested array' =>
['?foo%5Bbaz%5D=bar', 'foo',
['baz' =>
new StringableObject()]],
'object implementing __toString() in nested array but has public property' =>
['?foo%5Bbaz%5D%5Bfoo%5D=property', 'foo',
['baz' =>
new StringableObjectWithPublicProperty()]],
'stdClass' =>
['?foo%5Bbaz%5D=bar', 'foo',
$stdClass],
'stdClass in nested stdClass' =>
['?foo%5Bnested%5D%5Bbaz%5D=bar', 'foo',
$nestedStdClass],
'non stringable object' =>
['', 'foo',
new NonStringableObject()],
'non stringable object but has public property' =>
['?foo%5Bfoo%5D=property', 'foo',
new NonStringableObjectWithPublicProperty()],
];
} public function testUrlWithExtraParametersFromGlobals() { $routes =
$this->
getRoutes('test',
new Route('/testing'
));
$generator =
$this->
getGenerator($routes);
$context =
new RequestContext('/app.php'
);
$context->
setParameter('bar', 'bar'
);
$generator->
setContext($context);
$url =
$generator->
generate('test',
['foo' => 'bar'
]);