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