diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-07-20 10:39:43 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-07-20 10:39:43 +0200 |
commit | fbbcf82ab77c918b29dd2d39135d680cada3f581 (patch) | |
tree | 48e018c81aeadf8294ecb1c2432a026e84027775 /tests | |
parent | b466e8b7546352f7c2ac7d166d83131d3dcd7b2f (diff) | |
download | php-git-fbbcf82ab77c918b29dd2d39135d680cada3f581.tar.gz |
Unify static/non-static check for magic methods
And promote it to be fatal.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/classes/__call_007.phpt | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/tests/classes/__call_007.phpt b/tests/classes/__call_007.phpt deleted file mode 100644 index e2edb8a530..0000000000 --- a/tests/classes/__call_007.phpt +++ /dev/null @@ -1,76 +0,0 @@ ---TEST-- -Ensure exceptions are handled properly when thrown in a statically declared __call. ---FILE-- -<?php -class A { - static function __call($strMethod, $arrArgs) { - @var_dump($this); - throw new Exception; - echo "You should not see this"; - } - function test() { - A::unknownCalledWithSRO(1,2,3); - } -} - -class B extends A { - function test() { - B::unknownCalledWithSROFromChild(1,2,3); - } -} - -$a = new A(); - -echo "---> Invoke __call via simple method call.\n"; -try { - $a->unknown(); -} catch (Exception $e) { - echo "Exception caught OK; continuing.\n"; -} - -echo "\n\n---> Invoke __call via scope resolution operator within instance.\n"; -try { - $a->test(); -} catch (Exception $e) { - echo "Exception caught OK; continuing.\n"; -} - -echo "\n\n---> Invoke __call via scope resolution operator within child instance.\n"; -$b = new B(); -try { - $b->test(); -} catch (Exception $e) { - echo "Exception caught OK; continuing.\n"; -} - -echo "\n\n---> Invoke __call via callback.\n"; -try { - call_user_func(array($b, 'unknownCallback'), 1,2,3); -} catch (Exception $e) { - echo "Exception caught OK; continuing.\n"; -} -?> ---EXPECTF-- -Warning: The magic method A::__call() cannot be static in %s on line 3 ----> Invoke __call via simple method call. -object(A)#1 (0) { -} -Exception caught OK; continuing. - - ----> Invoke __call via scope resolution operator within instance. -object(A)#1 (0) { -} -Exception caught OK; continuing. - - ----> Invoke __call via scope resolution operator within child instance. -object(B)#2 (0) { -} -Exception caught OK; continuing. - - ----> Invoke __call via callback. -object(B)#2 (0) { -} -Exception caught OK; continuing. |