2020 */
2121class TimezoneValidatorTest extends ConstraintValidatorTestCase
2222{
23- protected function createValidator ()
23+ protected function createValidator (): TimezoneValidator
2424 {
2525 return new TimezoneValidator ();
2626 }
@@ -50,14 +50,14 @@ public function testExpectsStringCompatibleType()
5050 /**
5151 * @dataProvider getValidTimezones
5252 */
53- public function testValidTimezones ($ timezone )
53+ public function testValidTimezones (string $ timezone )
5454 {
5555 $ this ->validator ->validate ($ timezone , new Timezone ());
5656
5757 $ this ->assertNoViolation ();
5858 }
5959
60- public function getValidTimezones ()
60+ public function getValidTimezones (): iterable
6161 {
6262 return array (
6363 array ('America/Argentina/Buenos_Aires ' ),
@@ -73,7 +73,7 @@ public function getValidTimezones()
7373 /**
7474 * @dataProvider getValidGroupedTimezones
7575 */
76- public function testValidGroupedTimezones ($ timezone , $ what )
76+ public function testValidGroupedTimezones (string $ timezone , int $ what )
7777 {
7878 $ constraint = new Timezone (array (
7979 'zone ' => $ what ,
@@ -84,7 +84,7 @@ public function testValidGroupedTimezones($timezone, $what)
8484 $ this ->assertNoViolation ();
8585 }
8686
87- public function getValidGroupedTimezones ()
87+ public function getValidGroupedTimezones (): iterable
8888 {
8989 return array (
9090 array ('America/Argentina/Cordoba ' , \DateTimeZone::AMERICA ),
@@ -106,7 +106,7 @@ public function getValidGroupedTimezones()
106106 /**
107107 * @dataProvider getInvalidTimezones
108108 */
109- public function testInvalidTimezonesWithoutZone ($ timezone , $ extraInfo )
109+ public function testInvalidTimezonesWithoutZone (string $ timezone , string $ zoneMessage , string $ countryCodeMessage )
110110 {
111111 $ constraint = new Timezone (array (
112112 'message ' => 'myMessage ' ,
@@ -115,24 +115,25 @@ public function testInvalidTimezonesWithoutZone($timezone, $extraInfo)
115115 $ this ->validator ->validate ($ timezone , $ constraint );
116116
117117 $ this ->buildViolation ('myMessage ' )
118- ->setParameter ('{{ extra_info }} ' , $ extraInfo )
118+ ->setParameter ('{{ zone_message }} ' , $ zoneMessage )
119+ ->setParameter ('{{ country_code_message }} ' , $ countryCodeMessage )
119120 ->setCode (Timezone::NO_SUCH_TIMEZONE_ERROR )
120121 ->assertRaised ();
121122 }
122123
123- public function getInvalidTimezones ()
124+ public function getInvalidTimezones (): iterable
124125 {
125126 return array (
126- array ('Buenos_Aires/Argentina/America ' , '' ),
127- array ('Mayotte/Indian ' , '' ),
128- array ('foobar ' , '' ),
127+ array ('Buenos_Aires/Argentina/America ' , '' , '' ),
128+ array ('Mayotte/Indian ' , '' , '' ),
129+ array ('foobar ' , '' , '' ),
129130 );
130131 }
131132
132133 /**
133134 * @dataProvider getInvalidGroupedTimezones
134135 */
135- public function testInvalidGroupedTimezones ($ timezone , $ what , $ extraInfo )
136+ public function testInvalidGroupedTimezones (string $ timezone , int $ what , string $ zoneMessage , string $ countryCodeMessage )
136137 {
137138 $ constraint = new Timezone (array (
138139 'zone ' => $ what ,
@@ -142,26 +143,27 @@ public function testInvalidGroupedTimezones($timezone, $what, $extraInfo)
142143 $ this ->validator ->validate ($ timezone , $ constraint );
143144
144145 $ this ->buildViolation ('myMessage ' )
145- ->setParameter ('{{ extra_info }} ' , $ extraInfo )
146+ ->setParameter ('{{ zone_message }} ' , $ zoneMessage )
147+ ->setParameter ('{{ country_code_message }} ' , $ countryCodeMessage )
146148 ->setCode (Timezone::NO_SUCH_TIMEZONE_IN_ZONE_ERROR )
147149 ->assertRaised ();
148150 }
149151
150- public function getInvalidGroupedTimezones ()
152+ public function getInvalidGroupedTimezones (): iterable
151153 {
152154 return array (
153- array ('Antarctica/McMurdo ' , \DateTimeZone::AMERICA , ' for "AMERICA" zone ' ),
154- array ('America/Barbados ' , \DateTimeZone::ANTARCTICA , ' for "ANTARCTICA" zone ' ),
155- array ('Europe/Kiev ' , \DateTimeZone::ARCTIC , ' for "ARCTIC" zone ' ),
156- array ('Asia/Ho_Chi_Minh ' , \DateTimeZone::INDIAN , ' for "INDIAN" zone ' ),
157- array ('Asia/Ho_Chi_Minh ' , \DateTimeZone::INDIAN | \DateTimeZone::ANTARCTICA , ' for zone with identifier 260 ' ),
155+ array ('Antarctica/McMurdo ' , \DateTimeZone::AMERICA , ' at "AMERICA" zone ' , ' ' ),
156+ array ('America/Barbados ' , \DateTimeZone::ANTARCTICA , ' at "ANTARCTICA" zone ' , ' ' ),
157+ array ('Europe/Kiev ' , \DateTimeZone::ARCTIC , ' at "ARCTIC" zone ' , ' ' ),
158+ array ('Asia/Ho_Chi_Minh ' , \DateTimeZone::INDIAN , ' at "INDIAN" zone ' , ' ' ),
159+ array ('Asia/Ho_Chi_Minh ' , \DateTimeZone::INDIAN | \DateTimeZone::ANTARCTICA , ' at zone with identifier 260 ' , ' ' ),
158160 );
159161 }
160162
161163 /**
162164 * @dataProvider getValidGroupedTimezonesByCountry
163165 */
164- public function testValidGroupedTimezonesByCountry ($ timezone , $ what , $ country )
166+ public function testValidGroupedTimezonesByCountry (string $ timezone , int $ what , string $ country )
165167 {
166168 $ constraint = new Timezone (array (
167169 'zone ' => $ what ,
@@ -173,7 +175,7 @@ public function testValidGroupedTimezonesByCountry($timezone, $what, $country)
173175 $ this ->assertNoViolation ();
174176 }
175177
176- public function getValidGroupedTimezonesByCountry ()
178+ public function getValidGroupedTimezonesByCountry (): iterable
177179 {
178180 return array (
179181 array ('America/Argentina/Cordoba ' , \DateTimeZone::PER_COUNTRY , 'AR ' ),
@@ -195,7 +197,7 @@ public function getValidGroupedTimezonesByCountry()
195197 /**
196198 * @dataProvider getInvalidGroupedTimezonesByCountry
197199 */
198- public function testInvalidGroupedTimezonesByCountry ($ timezone , $ what , $ country , $ extraInfo )
200+ public function testInvalidGroupedTimezonesByCountry (string $ timezone , int $ what , string $ country , string $ zoneMessage , string $ countryCodeMessage )
199201 {
200202 $ constraint = new Timezone (array (
201203 'message ' => 'myMessage ' ,
@@ -206,23 +208,24 @@ public function testInvalidGroupedTimezonesByCountry($timezone, $what, $country,
206208 $ this ->validator ->validate ($ timezone , $ constraint );
207209
208210 $ this ->buildViolation ('myMessage ' )
209- ->setParameter ('{{ extra_info }} ' , $ extraInfo )
211+ ->setParameter ('{{ zone_message }} ' , $ zoneMessage )
212+ ->setParameter ('{{ country_code_message }} ' , $ countryCodeMessage )
210213 ->setCode (Timezone::NO_SUCH_TIMEZONE_IN_COUNTRY_ERROR )
211214 ->assertRaised ();
212215 }
213216
214- public function getInvalidGroupedTimezonesByCountry ()
217+ public function getInvalidGroupedTimezonesByCountry (): iterable
215218 {
216219 return array (
217- array ('America/Argentina/Cordoba ' , \DateTimeZone::PER_COUNTRY , 'FR ' , ' for ISO 3166-1 country code "FR" ' ),
218- array ('America/Barbados ' , \DateTimeZone::PER_COUNTRY , 'PT ' , ' for ISO 3166-1 country code "PT" ' ),
220+ array ('America/Argentina/Cordoba ' , \DateTimeZone::PER_COUNTRY , 'FR ' , '' , ' for ISO 3166-1 country code "FR" ' ),
221+ array ('America/Barbados ' , \DateTimeZone::PER_COUNTRY , 'PT ' , '' , ' for ISO 3166-1 country code "PT" ' ),
219222 );
220223 }
221224
222225 /**
223226 * @dataProvider getDeprecatedTimezones
224227 */
225- public function testDeprecatedTimezonesAreVaildWithBC ($ timezone )
228+ public function testDeprecatedTimezonesAreVaildWithBC (string $ timezone )
226229 {
227230 $ constraint = new Timezone (array (
228231 'zone ' => \DateTimeZone::ALL_WITH_BC ,
@@ -236,7 +239,7 @@ public function testDeprecatedTimezonesAreVaildWithBC($timezone)
236239 /**
237240 * @dataProvider getDeprecatedTimezones
238241 */
239- public function testDeprecatedTimezonesAreInvaildWithoutBC ($ timezone )
242+ public function testDeprecatedTimezonesAreInvaildWithoutBC (string $ timezone )
240243 {
241244 $ constraint = new Timezone (array (
242245 'message ' => 'myMessage ' ,
@@ -245,12 +248,13 @@ public function testDeprecatedTimezonesAreInvaildWithoutBC($timezone)
245248 $ this ->validator ->validate ($ timezone , $ constraint );
246249
247250 $ this ->buildViolation ('myMessage ' )
248- ->setParameter ('{{ extra_info }} ' , '' )
251+ ->setParameter ('{{ zone_message }} ' , '' )
252+ ->setParameter ('{{ country_code_message }} ' , '' )
249253 ->setCode (Timezone::NO_SUCH_TIMEZONE_ERROR )
250254 ->assertRaised ();
251255 }
252256
253- public function getDeprecatedTimezones ()
257+ public function getDeprecatedTimezones (): iterable
254258 {
255259 return array (
256260 array ('America/Buenos_Aires ' ),
0 commit comments