1--TEST--
2IntlDateFormatter::formatObject(): error conditions
3--SKIPIF--
4<?php
5if (!extension_loaded('intl'))
6    die('skip intl extension not enabled');
7--FILE--
8<?php
9ini_set("intl.error_level", E_WARNING);
10ini_set("intl.default_locale", "pt_PT");
11ini_set("date.timezone", "Europe/Lisbon");
12
13var_dump(IntlDateFormatter::formatObject(new stdclass));
14
15class A extends IntlCalendar {function __construct(){}}
16var_dump(IntlDateFormatter::formatObject(new A));
17class B extends DateTime {function __construct(){}}
18try {
19    var_dump(IntlDateFormatter::formatObject(new B));
20} catch (Error $e) {
21    echo $e->getMessage(), "\n";
22}
23
24$cal = IntlCalendar::createInstance();
25var_dump(IntlDateFormatter::formatObject($cal, -2));
26var_dump(IntlDateFormatter::formatObject($cal, array()));
27var_dump(IntlDateFormatter::formatObject($cal, array(1,2,3)));
28var_dump(IntlDateFormatter::formatObject($cal, array(array(), 1)));
29var_dump(IntlDateFormatter::formatObject($cal, array(1, -2)));
30var_dump(IntlDateFormatter::formatObject($cal, ""));
31
32?>
33--EXPECTF--
34Warning: IntlDateFormatter::formatObject(): datefmt_format_object: the passed object must be an instance of either IntlCalendar or DateTimeInterface in %s on line %d
35bool(false)
36
37Warning: IntlDateFormatter::formatObject(): datefmt_format_object: bad IntlCalendar instance: not initialized properly in %s on line %d
38bool(false)
39
40Warning: IntlDateFormatter::formatObject(): datefmt_format_object: error calling ::getTimeStamp() on the object in %s on line %d
41The DateTime object has not been correctly initialized by its constructor
42
43Warning: IntlDateFormatter::formatObject(): datefmt_format_object: the date/time format type is invalid in %s on line %d
44bool(false)
45
46Warning: IntlDateFormatter::formatObject(): datefmt_format_object: bad format; if array, it must have two elements in %s on line %d
47bool(false)
48
49Warning: IntlDateFormatter::formatObject(): datefmt_format_object: bad format; if array, it must have two elements in %s on line %d
50bool(false)
51
52Warning: IntlDateFormatter::formatObject(): datefmt_format_object: bad format; the date format (first element of the array) is not valid in %s on line %d
53bool(false)
54
55Warning: IntlDateFormatter::formatObject(): datefmt_format_object: bad format; the time format (second element of the array) is not valid in %s on line %d
56bool(false)
57
58Warning: IntlDateFormatter::formatObject(): datefmt_format_object: the format is empty in %s on line %d
59bool(false)
60