php-src/ext/intl/tests/msgfmt_format_error4.phpt
Gustavo André dos Santos Lopes 53860672f3 ICU < 4.8 compat in MessageFormatter
Restricted support for named arguments to ICU 4.8+.

Also added bound checks when converting arguments to Formattables.
2012-05-13 20:55:02 +01:00

29 lines
699 B
PHP

--TEST--
MessageFormatter::format() invalid UTF-8 for arg key or value
--SKIPIF--
<?php
if (!extension_loaded('intl'))
die('skip intl extension not enabled');
if (version_compare(INTL_ICU_VERSION, '4.8') < 0)
die('skip for ICU 4.8+');
--FILE--
<?php
ini_set("intl.error_level", E_WARNING);
$fmt = <<<EOD
{foo}
EOD;
$mf = new MessageFormatter('en_US', $fmt);
var_dump($mf->format(array("foo" => 7, "\x80" => "bar")));
var_dump($mf->format(array("foo" => "\x80")));
--EXPECTF--
Warning: MessageFormatter::format(): Invalid UTF-8 data in argument key: '€' in %s on line %d
bool(false)
Warning: MessageFormatter::format(): Invalid UTF-8 data in string argument: '€' in %s on line %d
bool(false)