@@ -537,11 +537,21 @@ public function testDenomalizeRecursive()
537
537
'inners ' => array (array ('foo ' => 1 ), array ('foo ' => 2 )),
538
538
), ObjectOuter::class);
539
539
540
- $ this ->assertEquals ('foo ' , $ obj ->getInner ()->foo );
541
- $ this ->assertEquals ('bar ' , $ obj ->getInner ()->bar );
542
- $ this ->assertEquals ('1988-01-21 ' , $ obj ->getDate ()->format ('Y-m-d ' ));
543
- $ this ->assertEquals (1 , $ obj ->getInners ()[0 ]->foo );
544
- $ this ->assertEquals (2 , $ obj ->getInners ()[1 ]->foo );
540
+ $ this ->assertSame ('foo ' , $ obj ->getInner ()->foo );
541
+ $ this ->assertSame ('bar ' , $ obj ->getInner ()->bar );
542
+ $ this ->assertSame ('1988-01-21 ' , $ obj ->getDate ()->format ('Y-m-d ' ));
543
+ $ this ->assertSame (1 , $ obj ->getInners ()[0 ]->foo );
544
+ $ this ->assertSame (2 , $ obj ->getInners ()[1 ]->foo );
545
+ }
546
+
547
+ public function testAcceptJsonNumber ()
548
+ {
549
+ $ extractor = new PropertyInfoExtractor (array (), array (new PhpDocExtractor (), new ReflectionExtractor ()));
550
+ $ normalizer = new ObjectNormalizer (null , null , null , $ extractor );
551
+ $ serializer = new Serializer (array (new ArrayDenormalizer (), new DateTimeNormalizer (), $ normalizer ));
552
+
553
+ $ this ->assertSame (10.0 , $ serializer ->denormalize (array ('number ' => 10 ), JsonNumber::class, 'json ' )->number );
554
+ $ this ->assertSame (10.0 , $ serializer ->denormalize (array ('number ' => 10 ), JsonNumber::class, 'jsonld ' )->number );
545
555
}
546
556
547
557
/**
@@ -820,3 +830,11 @@ protected function isAllowedAttribute($classOrObject, $attribute, $format = null
820
830
return false ;
821
831
}
822
832
}
833
+
834
+ class JsonNumber
835
+ {
836
+ /**
837
+ * @var float
838
+ */
839
+ public $ number ;
840
+ }
0 commit comments