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