Edit report at http://bugs.php.net/bug.php?id=52776&edit=1

 ID:                 52776
 Updated by:         fel...@php.net
 Reported by:        clicky at erebot dot net
 Summary:            MessageFormatter::__construct should throw an
                     exception for invalid patterns
-Status:             Open
+Status:             Assigned
 Type:               Bug
 Package:            *Languages/Translation
 Operating System:   Ubuntu 9.10
 PHP Version:        Irrelevant
-Assigned To:        
+Assigned To:        stas
 Block user comment: N



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 http://bugs.php.net/bug.php?id=52776&edit=1

Reply via email to