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

Reply via email to