Edit report at https://bugs.php.net/bug.php?id=52776&edit=1
ID: 52776
Comment by: jinmoku at hotmail dot com
Reported by: clicky at erebot dot net
Summary: MessageFormatter::__construct should throw an
exception for invalid patterns
Status: Assigned
Type: Feature/Change Request
Package: I18N and L10N related
Operating System: Ubuntu 9.10
PHP Version: Irrelevant
Assigned To: stas
Block user comment: N
Private report: N
New Comment:
use the ini directive : intl.error_level
Previous Comments:
------------------------------------------------------------------------
[2010-09-04 23:23:04] clicky at erebot dot net
Description:
------------
MessageFormatter's constructor returns NULL when an invalid pattern is given.
Instead, it should throw an exception.
This bug has already been reported twice before (see #52042 & #49161). Each
time the report was marked as bogus because the real problem got overlooked.
(the problem lies not in the given pattern being considered invalid by ICU, the
problem is in the constructor returning NULL)
Test script:
---------------
<?php
$f1 = msgfmt_create('en_US', '{this was made intentionally incorrect}');
echo 'f1 is ', gettype($f1), PHP_EOL;
$f2 = MessageFormatter::create('en_US', '{this was made intentionally
incorrect}');
echo 'f2 is ', gettype($f2), PHP_EOL;
$f3 = new MessageFormatter('en_US', '{this was made intentionally incorrect}');
echo 'f3 is ', gettype($f3), PHP_EOL;
?>
Expected result:
----------------
f1 is NULL
f2 is NULL
Fatal error: Uncaught exception 'Exception' with message 'Invalid pattern' in
%s:%d.
Actual result:
--------------
f1 is NULL
f2 is NULL
f3 is NULL
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=52776&edit=1