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