1313
1414namespace ApiPlatform \Metadata \Tests ;
1515
16+ use ApiPlatform \Metadata \HeaderParameter ;
1617use ApiPlatform \Metadata \Parameters ;
1718use ApiPlatform \Metadata \QueryParameter ;
1819use PHPUnit \Framework \TestCase ;
@@ -25,4 +26,27 @@ public function testDefaultValue(): void
2526 $ parameters = new Parameters (['a ' => $ r ]);
2627 $ this ->assertSame ($ r , $ parameters ->get ('a ' ));
2728 }
29+
30+ public function testDuplicated (): void
31+ {
32+ $ r1 = new QueryParameter (key: 'a ' );
33+ $ r2 = new QueryParameter (key: 'b ' );
34+ $ r3 = new HeaderParameter (key: 'a ' );
35+ $ r4 = new HeaderParameter (key: 'b ' );
36+ $ parameters = new Parameters ([$ r1 , $ r2 , $ r3 , $ r4 ]);
37+ $ this ->assertCount (4 , $ parameters );
38+ $ this ->assertSame ($ r1 , $ parameters ->get ('a ' ));
39+ $ this ->assertSame ($ r2 , $ parameters ->get ('b ' ));
40+ $ this ->assertSame ($ r3 , $ parameters ->get ('a ' , HeaderParameter::class));
41+ $ this ->assertSame ($ r4 , $ parameters ->get ('b ' , HeaderParameter::class));
42+
43+ $ r1 = new QueryParameter (key: 'a ' );
44+ $ r2 = new QueryParameter (key: 'a ' );
45+ $ r3 = new HeaderParameter (key: 'a ' );
46+ $ r4 = new HeaderParameter (key: 'a ' );
47+ $ parameters = new Parameters ([$ r1 , $ r2 , $ r3 , $ r4 ]);
48+ $ this ->assertCount (2 , $ parameters );
49+ $ this ->assertSame ($ r2 , $ parameters ->get ('a ' ));
50+ $ this ->assertSame ($ r4 , $ parameters ->get ('a ' , HeaderParameter::class));
51+ }
2852}
0 commit comments