1--TEST--
2ReflectionClass::getStaticPropertyValue() - bad params
3--CREDITS--
4Robin Fernandes <robinf@php.net>
5Steve Seear <stevseea@php.net>
6--FILE--
7<?php
8class C {
9    public static $x;
10}
11
12$rc = new ReflectionClass('C');
13try {
14    var_dump($rc->getStaticPropertyValue("x", "default value", 'blah'));
15} catch (TypeError $e) {
16    echo $e->getMessage() . "\n";
17}
18try {
19    var_dump($rc->getStaticPropertyValue());
20} catch (TypeError $e) {
21    echo $e->getMessage() . "\n";
22}
23try {
24    var_dump($rc->getStaticPropertyValue(null));
25} catch (Exception $e) {
26    echo $e->getMessage() . "\n";
27}
28try {
29    var_dump($rc->getStaticPropertyValue(1.5, 'def'));
30} catch (Exception $e) {
31    echo $e->getMessage() . "\n";
32}
33try {
34    var_dump($rc->getStaticPropertyValue(array(1,2,3)));
35} catch (TypeError $e) {
36    echo $e->getMessage() . "\n";
37}
38
39
40?>
41--EXPECT--
42ReflectionClass::getStaticPropertyValue() expects at most 2 arguments, 3 given
43ReflectionClass::getStaticPropertyValue() expects at least 1 argument, 0 given
44Property C::$ does not exist
45string(3) "def"
46ReflectionClass::getStaticPropertyValue(): Argument #1 ($name) must be of type string, array given
47