@@ -185,6 +185,114 @@ public function testCastIntlTimeZoneWithoutDST()
185
185
id: " $ expectedID"
186
186
raw_offset: $ expectedRawOffset
187
187
}
188
+ EOTXT ;
189
+ $ this ->assertDumpEquals ($ expected , $ var );
190
+ }
191
+
192
+ public function testCastIntlCalendar ()
193
+ {
194
+ $ var = \IntlCalendar::createInstance ('America/Los_Angeles ' , 'en ' );
195
+
196
+ $ expectedType = $ var ->getType ();
197
+ $ expectedFirstDayOfWeek = $ var ->getFirstDayOfWeek ();
198
+ $ expectedMinimalDaysInFirstWeek = $ var ->getMinimalDaysInFirstWeek ();
199
+ $ expectedRepeatedWallTimeOption = $ var ->getRepeatedWallTimeOption ();
200
+ $ expectedSkippedWallTimeOption = $ var ->getSkippedWallTimeOption ();
201
+ $ expectedTime = $ var ->getTime ().'.0 ' ;
202
+ $ expectedInDaylightTime = $ var ->inDaylightTime () ? 'true ' : 'false ' ;
203
+ $ expectedIsLenient = $ var ->isLenient () ? 'true ' : 'false ' ;
204
+
205
+ $ expectedTimeZone = $ var ->getTimeZone ();
206
+ $ expectedTimeZoneDisplayName = $ expectedTimeZone ->getDisplayName ();
207
+ $ expectedTimeZoneID = $ expectedTimeZone ->getID ();
208
+ $ expectedTimeZoneRawOffset = $ expectedTimeZone ->getRawOffset ();
209
+ $ expectedTimeZoneDSTSavings = $ expectedTimeZone ->getDSTSavings ();
210
+
211
+ $ expected = <<<EOTXT
212
+ IntlGregorianCalendar {
213
+ type: " $ expectedType"
214
+ first_day_of_week: $ expectedFirstDayOfWeek
215
+ minimal_days_in_first_week: $ expectedMinimalDaysInFirstWeek
216
+ repeated_wall_time_option: $ expectedRepeatedWallTimeOption
217
+ skipped_wall_time_option: $ expectedSkippedWallTimeOption
218
+ time: $ expectedTime
219
+ in_daylight_time: $ expectedInDaylightTime
220
+ is_lenient: $ expectedIsLenient
221
+ time_zone: IntlTimeZone {
222
+ display_name: " $ expectedTimeZoneDisplayName"
223
+ id: " $ expectedTimeZoneID"
224
+ raw_offset: $ expectedTimeZoneRawOffset
225
+ dst_savings: $ expectedTimeZoneDSTSavings
226
+ }
227
+ }
228
+ EOTXT ;
229
+ $ this ->assertDumpEquals ($ expected , $ var );
230
+ }
231
+
232
+ public function testCastDateFormatter ()
233
+ {
234
+ $ var = new \IntlDateFormatter ('en ' , \IntlDateFormatter::TRADITIONAL , \IntlDateFormatter::TRADITIONAL );
235
+
236
+ $ expectedLocale = $ var ->getLocale ();
237
+ $ expectedPattern = $ var ->getPattern ();
238
+ $ expectedCalendar = $ var ->getCalendar ();
239
+ $ expectedTimeZoneId = $ var ->getTimeZoneId ();
240
+ $ expectedTimeType = $ var ->getTimeType ();
241
+ $ expectedDateType = $ var ->getDateType ();
242
+
243
+ $ expectedCalendarObject = $ var ->getCalendarObject ();
244
+ $ expectedCalendarObjectType = $ expectedCalendarObject ->getType ();
245
+ $ expectedCalendarObjectFirstDayOfWeek = $ expectedCalendarObject ->getFirstDayOfWeek ();
246
+ $ expectedCalendarObjectMinimalDaysInFirstWeek = $ expectedCalendarObject ->getMinimalDaysInFirstWeek ();
247
+ $ expectedCalendarObjectRepeatedWallTimeOption = $ expectedCalendarObject ->getRepeatedWallTimeOption ();
248
+ $ expectedCalendarObjectSkippedWallTimeOption = $ expectedCalendarObject ->getSkippedWallTimeOption ();
249
+ $ expectedCalendarObjectTime = $ expectedCalendarObject ->getTime ().'.0 ' ;
250
+ $ expectedCalendarObjectInDaylightTime = $ expectedCalendarObject ->inDaylightTime () ? 'true ' : 'false ' ;
251
+ $ expectedCalendarObjectIsLenient = $ expectedCalendarObject ->isLenient () ? 'true ' : 'false ' ;
252
+
253
+ $ expectedCalendarObjectTimeZone = $ expectedCalendarObject ->getTimeZone ();
254
+ $ expectedCalendarObjectTimeZoneDisplayName = $ expectedCalendarObjectTimeZone ->getDisplayName ();
255
+ $ expectedCalendarObjectTimeZoneID = $ expectedCalendarObjectTimeZone ->getID ();
256
+ $ expectedCalendarObjectTimeZoneRawOffset = $ expectedCalendarObjectTimeZone ->getRawOffset ();
257
+ $ expectedCalendarObjectTimeZoneDSTSavings = $ expectedCalendarObjectTimeZone ->getDSTSavings ();
258
+
259
+ $ expectedTimeZone = $ var ->getTimeZone ();
260
+ $ expectedTimeZoneDisplayName = $ expectedTimeZone ->getDisplayName ();
261
+ $ expectedTimeZoneID = $ expectedTimeZone ->getID ();
262
+ $ expectedTimeZoneRawOffset = $ expectedTimeZone ->getRawOffset ();
263
+ $ expectedTimeZoneDSTSavings = $ expectedTimeZone ->getDSTSavings ();
264
+
265
+ $ expected = <<<EOTXT
266
+ IntlDateFormatter {
267
+ locale: " $ expectedLocale"
268
+ pattern: " $ expectedPattern"
269
+ calendar: $ expectedCalendar
270
+ time_zone_id: " $ expectedTimeZoneId"
271
+ time_type: $ expectedTimeType
272
+ date_type: $ expectedDateType
273
+ calendar_object: IntlGregorianCalendar {
274
+ type: " $ expectedCalendarObjectType"
275
+ first_day_of_week: $ expectedCalendarObjectFirstDayOfWeek
276
+ minimal_days_in_first_week: $ expectedCalendarObjectMinimalDaysInFirstWeek
277
+ repeated_wall_time_option: $ expectedCalendarObjectRepeatedWallTimeOption
278
+ skipped_wall_time_option: $ expectedCalendarObjectSkippedWallTimeOption
279
+ time: $ expectedCalendarObjectTime
280
+ in_daylight_time: $ expectedCalendarObjectInDaylightTime
281
+ is_lenient: $ expectedCalendarObjectIsLenient
282
+ time_zone: IntlTimeZone {
283
+ display_name: " $ expectedCalendarObjectTimeZoneDisplayName"
284
+ id: " $ expectedCalendarObjectTimeZoneID"
285
+ raw_offset: $ expectedCalendarObjectTimeZoneRawOffset
286
+ dst_savings: $ expectedCalendarObjectTimeZoneDSTSavings
287
+ }
288
+ }
289
+ time_zone: IntlTimeZone {
290
+ display_name: " $ expectedTimeZoneDisplayName"
291
+ id: " $ expectedTimeZoneID"
292
+ raw_offset: $ expectedTimeZoneRawOffset
293
+ dst_savings: $ expectedTimeZoneDSTSavings
294
+ }
295
+ }
188
296
EOTXT ;
189
297
$ this ->assertDumpEquals ($ expected , $ var );
190
298
}
0 commit comments