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