1--TEST--
2Observer: Observe basic TypeError
3--EXTENSIONS--
4zend_test
5--INI--
6zend_test.observer.enabled=1
7zend_test.observer.observe_all=1
8zend_test.observer.show_return_value=1
9--FILE--
10<?php
11function foo(array $a) { return 1; }
12foo(42);
13?>
14--EXPECTF--
15<!-- init '%s' -->
16<file '%s'>
17  <!-- init foo() -->
18  <foo>
19    <!-- Exception: TypeError -->
20  </foo:NULL>
21  <!-- Exception: TypeError -->
22</file '%s'>
23<!-- init Error::__toString() -->
24<Error::__toString>
25  <!-- init Error::getTraceAsString() -->
26  <Error::getTraceAsString>
27  </Error::getTraceAsString:'#0 %s(%d): foo(42)
28#1 {main}'>
29</Error::__toString:'TypeError: foo(): Argument #1 ($a) must be of type array, int given, called in %s:%d
30Stack trace:
31#0 %s%eobserver_types_%d.php(%d): foo(42)
32#1 {main}'>
33
34Fatal error: Uncaught TypeError: foo(): Argument #1 ($a) must be of type array, int given, called in %s:%d
35Stack trace:
36#0 %s%eobserver_types_%d.php(%d): foo(42)
37#1 {main}
38  thrown in %s%eobserver_types_%d.php on line %d
39