1--TEST-- 2IntlTimeZone::getOffset(): errors 3--SKIPIF-- 4<?php 5if (!extension_loaded('intl')) 6 die('skip intl extension not enabled'); 7 8/* INF being an invalid offset depends on UB in float->int cast behavior. */ 9$arch = php_uname('m'); 10if ($arch != 'x86_64' && $arch != 'i386') 11 die('skip requires x86'); 12?> 13--FILE-- 14<?php 15ini_set("intl.error_level", E_WARNING); 16 17$tz = IntlTimeZone::createTimeZone('Europe/Lisbon'); 18var_dump($tz->getOffset(INF, true, $a, $a)); 19var_dump($tz->getOffset(time()*1000, true, $a)); 20var_dump($tz->getOffset(time()*1000, true, $a, $a, $a)); 21 22intltz_get_offset(null, time()*1000, false, $a, $a); 23--EXPECTF-- 24Warning: IntlTimeZone::getOffset(): intltz_get_offset: error obtaining offset in %s on line %d 25bool(false) 26 27Warning: IntlTimeZone::getOffset() expects exactly 4 parameters, 3 given in %s on line %d 28 29Warning: IntlTimeZone::getOffset(): intltz_get_offset: bad arguments in %s on line %d 30bool(false) 31 32Warning: IntlTimeZone::getOffset() expects exactly 4 parameters, 5 given in %s on line %d 33 34Warning: IntlTimeZone::getOffset(): intltz_get_offset: bad arguments in %s on line %d 35bool(false) 36 37Fatal error: Uncaught TypeError: Argument 1 passed to intltz_get_offset() must be an instance of IntlTimeZone, null given in %s:%d 38Stack trace: 39#0 %s(%d): intltz_get_offset(NULL, %d, false, NULL, NULL) 40#1 {main} 41 thrown in %s on line %d 42