diff options
Diffstat (limited to 'ext/standard/tests/array/bug25708.phpt')
-rw-r--r-- | ext/standard/tests/array/bug25708.phpt | 223 |
1 files changed, 0 insertions, 223 deletions
diff --git a/ext/standard/tests/array/bug25708.phpt b/ext/standard/tests/array/bug25708.phpt deleted file mode 100644 index d3da3e3399..0000000000 --- a/ext/standard/tests/array/bug25708.phpt +++ /dev/null @@ -1,223 +0,0 @@ ---TEST-- -Bug #25708 (extract($GLOBALS, EXTR_REFS) mangles $GLOBALS) ---FILE-- -<?php -function foo($ref, $alt) { - unset($GLOBALS['a']); - unset($GLOBALS['b']); - $GLOBALS['a'] = 1; - $GLOBALS['b'] = 2; - - $org_a = $GLOBALS['a']; - $org_b = $GLOBALS['b']; - - if ($ref) { - global $a, $b; - } else { - /* zval temp_var(NULL); // refcount = 1 - * a = temp_var[x] // refcount = 2 - */ - $a = NULL; - $b = NULL; - } - - debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); - echo "--\n"; - if ($alt) { - $a = &$GLOBALS['a']; - $b = &$GLOBALS['b']; - } else { - extract($GLOBALS, EXTR_REFS); - } - debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); - echo "--\n"; - $a = &$GLOBALS['a']; - $b = &$GLOBALS['b']; - debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); - echo "--\n"; - $GLOBALS['b'] = 3; - debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); - echo "--\n"; - $a = 4; - debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b']); - echo "--\n"; - $c = $b; - debug_zval_dump($b, $GLOBALS['b'], $c); - echo "--\n"; - $b = 'x'; - debug_zval_dump($a, $b, $GLOBALS['a'], $GLOBALS['b'], $c); - echo "--\n"; - debug_zval_dump($org_a, $org_b); - echo "----"; - if ($ref) echo 'r'; - if ($alt) echo 'a'; - echo "\n"; -} - -$a = 'ok'; -$b = 'ok'; -$_a = $a; -$_b = $b; - -foo(false, true); -foo(true, true); -foo(false, false); -foo(true, false); - -debug_zval_dump($_a, $_b); -?> ---EXPECT-- -NULL refcount(2) -NULL refcount(2) -long(1) refcount(3) -long(2) refcount(3) --- -long(1) refcount(1) -long(2) refcount(1) -long(1) refcount(1) -long(2) refcount(1) --- -long(1) refcount(1) -long(2) refcount(1) -long(1) refcount(1) -long(2) refcount(1) --- -long(1) refcount(1) -long(3) refcount(1) -long(1) refcount(1) -long(3) refcount(1) --- -long(4) refcount(1) -long(3) refcount(1) -long(4) refcount(1) -long(3) refcount(1) --- -long(3) refcount(1) -long(3) refcount(1) -long(3) refcount(2) --- -long(4) refcount(1) -string(1) "x" refcount(1) -long(4) refcount(1) -string(1) "x" refcount(1) -long(3) refcount(2) --- -long(1) refcount(2) -long(2) refcount(2) -----a -long(1) refcount(1) -long(2) refcount(1) -long(1) refcount(1) -long(2) refcount(1) --- -long(1) refcount(1) -long(2) refcount(1) -long(1) refcount(1) -long(2) refcount(1) --- -long(1) refcount(1) -long(2) refcount(1) -long(1) refcount(1) -long(2) refcount(1) --- -long(1) refcount(1) -long(3) refcount(1) -long(1) refcount(1) -long(3) refcount(1) --- -long(4) refcount(1) -long(3) refcount(1) -long(4) refcount(1) -long(3) refcount(1) --- -long(3) refcount(1) -long(3) refcount(1) -long(3) refcount(2) --- -long(4) refcount(1) -string(1) "x" refcount(1) -long(4) refcount(1) -string(1) "x" refcount(1) -long(3) refcount(2) --- -long(1) refcount(2) -long(2) refcount(2) -----ra -NULL refcount(2) -NULL refcount(2) -long(1) refcount(3) -long(2) refcount(3) --- -long(1) refcount(1) -long(2) refcount(1) -long(1) refcount(1) -long(2) refcount(1) --- -long(1) refcount(1) -long(2) refcount(1) -long(1) refcount(1) -long(2) refcount(1) --- -long(1) refcount(1) -long(3) refcount(1) -long(1) refcount(1) -long(3) refcount(1) --- -long(4) refcount(1) -long(3) refcount(1) -long(4) refcount(1) -long(3) refcount(1) --- -long(3) refcount(1) -long(3) refcount(1) -long(3) refcount(2) --- -long(4) refcount(1) -string(1) "x" refcount(1) -long(4) refcount(1) -string(1) "x" refcount(1) -long(3) refcount(2) --- -long(1) refcount(2) -long(2) refcount(2) ----- -long(1) refcount(1) -long(2) refcount(1) -long(1) refcount(1) -long(2) refcount(1) --- -long(1) refcount(1) -long(2) refcount(1) -long(1) refcount(1) -long(2) refcount(1) --- -long(1) refcount(1) -long(2) refcount(1) -long(1) refcount(1) -long(2) refcount(1) --- -long(1) refcount(1) -long(3) refcount(1) -long(1) refcount(1) -long(3) refcount(1) --- -long(4) refcount(1) -long(3) refcount(1) -long(4) refcount(1) -long(3) refcount(1) --- -long(3) refcount(1) -long(3) refcount(1) -long(3) refcount(2) --- -long(4) refcount(1) -string(1) "x" refcount(1) -long(4) refcount(1) -string(1) "x" refcount(1) -long(3) refcount(2) --- -long(1) refcount(2) -long(2) refcount(2) -----r -string(2) "ok" refcount(2) -string(2) "ok" refcount(2) |