File tree Expand file tree Collapse file tree 2 files changed +46
-1
lines changed Expand file tree Collapse file tree 2 files changed +46
-1
lines changed Original file line number Diff line number Diff line change 1+ --TEST--
2+ Match expression error messages (zend.exception_ignore_args=1)
3+ --INI--
4+ zend.exception_ignore_args=1
5+ --FILE--
6+ <?php
7+
8+ class Beep {}
9+
10+ function test (mixed $ var ) {
11+ try {
12+ match ($ var ) {};
13+ } catch (UnhandledMatchError $ e ) {
14+ print $ e ->getMessage () . PHP_EOL ;
15+ }
16+ }
17+
18+ test (null );
19+ test (1 );
20+ test (5.5 );
21+ test (5.0 );
22+ test ("foo " );
23+ test (true );
24+ test (false );
25+ test ([1 , 2 , 3 ]);
26+ test (new Beep ());
27+ // Testing long strings.
28+ test (str_repeat ('e ' , 100 ));
29+ test (str_repeat ("e \n" , 100 ));
30+ ?>
31+ --EXPECT--
32+ Unhandled match case of type null
33+ Unhandled match case of type int
34+ Unhandled match case of type float
35+ Unhandled match case of type float
36+ Unhandled match case of type string
37+ Unhandled match case of type bool
38+ Unhandled match case of type bool
39+ Unhandled match case of type array
40+ Unhandled match case of type Beep
41+ Unhandled match case of type string
42+ Unhandled match case of type string
Original file line number Diff line number Diff line change @@ -875,7 +875,10 @@ ZEND_COLD zend_never_inline void zend_magic_get_property_type_inconsistency_erro
875875ZEND_COLD void zend_match_unhandled_error (const zval * value )
876876{
877877 smart_str msg = {0 };
878- if (smart_str_append_zval (& msg , value , EG (exception_string_param_max_len )) != SUCCESS ) {
878+ if (
879+ EG (exception_ignore_args )
880+ || smart_str_append_zval (& msg , value , EG (exception_string_param_max_len )) != SUCCESS
881+ ) {
879882 smart_str_appendl (& msg , "of type " , sizeof ("of type " )- 1 );
880883 smart_str_appends (& msg , zend_zval_type_name (value ));
881884 }
You can’t perform that action at this time.
0 commit comments