1--TEST--
2IntlCalendar::set(): bad arguments
3--INI--
4date.timezone=Atlantic/Azores
5--SKIPIF--
6<?php
7if (!extension_loaded('intl'))
8    die('skip intl extension not enabled');
9--FILE--
10<?php
11ini_set("intl.error_level", E_WARNING);
12
13$c = new IntlGregorianCalendar(NULL, 'pt_PT');
14
15try {
16    $c->set(1, 2, 3, 4, 5, 6, 7);
17} catch (ArgumentCountError $exception) {
18    echo $exception->getMessage() . "\n";
19}
20
21try {
22    $c->set(1, 2, 3, 4);
23} catch (ArgumentCountError $exception) {
24    echo $exception->getMessage() . "\n";
25}
26
27try {
28    var_dump($c->set(-1, 2));
29} catch (\ValueError $e) {
30    echo $e->getMessage() . \PHP_EOL;
31}
32
33try {
34    var_dump(intlcal_set($c, -1, 2));
35} catch (\ValueError $e) {
36    echo $e->getMessage() . \PHP_EOL;
37}
38
39try {
40    var_dump(intlcal_set(1, 2, 3));
41} catch (\TypeError $e) {
42    echo $e->getMessage() . \PHP_EOL;
43}
44?>
45--EXPECT--
46IntlCalendar::set() expects at most 6 arguments, 7 given
47IntlCalendar::set() has no variant with exactly 4 parameters
48IntlCalendar::set(): Argument #1 ($year) must be a valid field
49intlcal_set(): Argument #2 ($year) must be a valid field
50intlcal_set(): Argument #1 ($calendar) must be of type IntlCalendar, int given
51