Merge branch '4.2'
* 4.2: typo [Messenger] Mention HandleTrait in UPGRADE-4.2.md file add a test case [Form] Handle all case variants of "nan" when parsing a number
This commit is contained in:
commit
6da7afc746
@ -199,7 +199,10 @@ Messenger
|
||||
---------
|
||||
|
||||
* The `MiddlewareInterface::handle()` and `SenderInterface::send()` methods must now return an `Envelope` instance.
|
||||
* The return value of handlers is ignored. If you used to return a value, e.g in query bus handlers, you can either:
|
||||
* The return value of handlers isn't forwarded anymore by middleware and buses.
|
||||
If you used to return a value, e.g in query bus handlers, you can either:
|
||||
- get the result from the `HandledStamp` in the envelope returned by the bus.
|
||||
- use the `HandleTrait` to leverage a message bus, expecting a single, synchronous message handling and returning its result.
|
||||
- make your `Query` mutable to allow setting & getting a result:
|
||||
```php
|
||||
// When dispatching:
|
||||
@ -209,15 +212,6 @@ Messenger
|
||||
// In your handler:
|
||||
$query->setResult($yourResult);
|
||||
```
|
||||
- define a callable on your `Query` to be called in your handler:
|
||||
```php
|
||||
// When dispatching:
|
||||
$bus->dispatch(new Query([$this, 'onResult']));
|
||||
|
||||
// In your handler:
|
||||
$query->executeCallback($yourResult);
|
||||
```
|
||||
|
||||
* The `EnvelopeAwareInterface` was removed and the `MiddlewareInterface::handle()` method now requires an `Envelope` object
|
||||
as first argument. When using built-in middleware with the provided `MessageBus`, you will not have to do anything.
|
||||
If you use your own `MessageBusInterface` implementation, you must wrap the message in an `Envelope` before passing it to middleware.
|
||||
|
@ -146,7 +146,7 @@ class NumberToLocalizedStringTransformer implements DataTransformerInterface
|
||||
return;
|
||||
}
|
||||
|
||||
if ('NaN' === $value) {
|
||||
if (\in_array($value, array('NaN', 'NAN', 'nan'), true)) {
|
||||
throw new TransformationFailedException('"NaN" is not a valid number');
|
||||
}
|
||||
|
||||
|
@ -514,24 +514,24 @@ class NumberToLocalizedStringTransformerTest extends TestCase
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\Form\Exception\TransformationFailedException
|
||||
* @dataProvider nanRepresentationProvider
|
||||
*
|
||||
* @see https://github.com/symfony/symfony/issues/3161
|
||||
*/
|
||||
public function testReverseTransformDisallowsNaN()
|
||||
public function testReverseTransformDisallowsNaN($nan)
|
||||
{
|
||||
$transformer = new NumberToLocalizedStringTransformer();
|
||||
|
||||
$transformer->reverseTransform('NaN');
|
||||
$transformer->reverseTransform($nan);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\Form\Exception\TransformationFailedException
|
||||
*/
|
||||
public function testReverseTransformDisallowsNaN2()
|
||||
public function nanRepresentationProvider()
|
||||
{
|
||||
$transformer = new NumberToLocalizedStringTransformer();
|
||||
|
||||
$transformer->reverseTransform('nan');
|
||||
return array(
|
||||
array('nan'),
|
||||
array('NaN'), // see https://github.com/symfony/symfony/issues/3161
|
||||
array('NAN'),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -112,7 +112,7 @@ interface ExecutionContextInterface
|
||||
* Returns the currently validated object.
|
||||
*
|
||||
* If the validator is currently validating a class constraint, the
|
||||
* object of that class is returned. If it is a validating a property or
|
||||
* object of that class is returned. If it is validating a property or
|
||||
* getter constraint, the object that the property/getter belongs to is
|
||||
* returned.
|
||||
*
|
||||
|
Reference in New Issue
Block a user