@@ -35,7 +35,7 @@ public function testScalar(): void
3535 $ event ->setData ('controller ' , new UsersController ());
3636
3737 $ request = (new ServerRequest ())
38- ->withParam ('pass ' , ["true " , "10 " , "10.5 " , "foo " ])
38+ ->withParam ('pass ' , ["false " , "10 " , "10.5 " , "foo " ])
3939 ->withParam ('action ' , 'withScalar ' );
4040 $ response = new Response ();
4141
@@ -44,10 +44,10 @@ public function testScalar(): void
4444
4545 /** @var ServerRequest $updatedRequest */
4646 $ updatedRequest = $ event ->getData ('request ' );
47- $ this ->assertSame ($ updatedRequest ->getParam ('pass.0 ' ), ( bool ) true );
48- $ this ->assertSame ($ updatedRequest ->getParam ('pass.1 ' ), ( int ) 10 );
49- $ this ->assertSame ($ updatedRequest ->getParam ('pass.2 ' ), ( float ) 10.5 );
50- $ this ->assertSame ($ updatedRequest ->getParam ('pass.3 ' ), ( string ) " foo " );
47+ $ this ->assertSame (false , $ updatedRequest ->getParam ('pass.0 ' ));
48+ $ this ->assertSame (10 , $ updatedRequest ->getParam ('pass.1 ' ));
49+ $ this ->assertSame (10.5 , $ updatedRequest ->getParam ('pass.2 ' ));
50+ $ this ->assertSame (" foo " , $ updatedRequest ->getParam ('pass.3 ' ));
5151 }
5252
5353 public function testDatetime (): void
@@ -137,4 +137,22 @@ public function testUndefinedAction(): void
137137 $ this ->expectException (\ReflectionException::class);
138138 $ listener ->beforeDispatch ($ event , $ request , $ response );
139139 }
140+
141+ public function testOptional (): void
142+ {
143+ $ event = new Event ('beforeEvent ' );
144+ $ event ->setData ('controller ' , new UsersController ());
145+
146+ $ request = (new ServerRequest ())
147+ ->withParam ('pass ' , [])
148+ ->withParam ('action ' , 'withOptional ' );
149+ $ response = new Response ();
150+
151+ $ listener = new DispatchListener ();
152+ $ listener ->beforeDispatch ($ event , $ request , $ response );
153+
154+ /** @var ServerRequest $updatedRequest */
155+ $ updatedRequest = $ event ->getData ('request ' );
156+ $ this ->assertEquals ([], $ updatedRequest ->getParam ('pass ' ));
157+ }
140158}
0 commit comments