Annotation of embedaddon/php/Zend/tests/bug31683.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #31683 (changes to $name in __get($name) override future parameters)
! 3: --FILE--
! 4: <?php
! 5:
! 6: class Foo implements ArrayAccess {
! 7:
! 8: function __get($test) {
! 9: var_dump($test);
! 10: $test = 'bug';
! 11: }
! 12:
! 13: function __set($test, $val) {
! 14: var_dump($test);
! 15: var_dump($val);
! 16: $test = 'bug';
! 17: $val = 'bug';
! 18: }
! 19:
! 20: function __call($test, $arg) {
! 21: var_dump($test);
! 22: $test = 'bug';
! 23: }
! 24:
! 25: function offsetget($test) {
! 26: var_dump($test);
! 27: $test = 'bug';
! 28: return 123;
! 29: }
! 30:
! 31: function offsetset($test, $val) {
! 32: var_dump($test);
! 33: var_dump($val);
! 34: $test = 'bug';
! 35: $val = 'bug';
! 36: }
! 37:
! 38: function offsetexists($test) {
! 39: var_dump($test);
! 40: $test = 'bug';
! 41: }
! 42:
! 43: function offsetunset($test) {
! 44: var_dump($test);
! 45: $test = 'bug';
! 46: }
! 47:
! 48: }
! 49:
! 50: $foo = new Foo();
! 51: $a = "ok";
! 52:
! 53: for ($i=0; $i < 2; $i++) {
! 54: $foo->ok("ok");
! 55: $foo->ok;
! 56: $foo->ok = "ok";
! 57: $x = $foo["ok"];
! 58: $foo["ok"] = "ok";
! 59: isset($foo["ok"]);
! 60: unset($foo["ok"]);
! 61: // $foo[];
! 62: $foo[] = "ok";
! 63: // isset($foo[]);
! 64: // unset($foo[]);
! 65: $foo->$a;
! 66: echo "---\n";
! 67: }
! 68: ?>
! 69: --EXPECT--
! 70: string(2) "ok"
! 71: string(2) "ok"
! 72: string(2) "ok"
! 73: string(2) "ok"
! 74: string(2) "ok"
! 75: string(2) "ok"
! 76: string(2) "ok"
! 77: string(2) "ok"
! 78: string(2) "ok"
! 79: NULL
! 80: string(2) "ok"
! 81: string(2) "ok"
! 82: ---
! 83: string(2) "ok"
! 84: string(2) "ok"
! 85: string(2) "ok"
! 86: string(2) "ok"
! 87: string(2) "ok"
! 88: string(2) "ok"
! 89: string(2) "ok"
! 90: string(2) "ok"
! 91: string(2) "ok"
! 92: NULL
! 93: string(2) "ok"
! 94: string(2) "ok"
! 95: ---
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>