mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-19 02:56:15 +00:00
Fix re-numbering of values in exportVar()
Using array_merge resulted in values being re-indexed, change how arrays are combined to preserve keys. Fixes #2506
This commit is contained in:
parent
11ed1e6ea5
commit
29514b08fb
2 changed files with 29 additions and 4 deletions
|
@ -329,8 +329,21 @@ object(View) {
|
|||
float => (float) 1.333
|
||||
}
|
||||
TEXT;
|
||||
// $result = str_replace(array("\r\n", "\n"), "", $result);
|
||||
// $expected = str_replace(array("\r\n", "\n"), "", $expected);
|
||||
$result = str_replace(array("\r\n", "\n"), "", $result);
|
||||
$expected = str_replace(array("\r\n", "\n"), "", $expected);
|
||||
$this->assertEquals($expected, $result);
|
||||
|
||||
$data = array(
|
||||
1 => 'Index one',
|
||||
5 => 'Index five'
|
||||
);
|
||||
$result = Debugger::exportVar($data);
|
||||
$expected = <<<TEXT
|
||||
array(
|
||||
(int) 1 => 'Index one',
|
||||
(int) 5 => 'Index five'
|
||||
)
|
||||
TEXT;
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
|
|
|
@ -496,13 +496,23 @@ class Debugger {
|
|||
/**
|
||||
* Export an array type object. Filters out keys used in datasource configuration.
|
||||
*
|
||||
* The following keys are replaced with ***'s
|
||||
*
|
||||
* - password
|
||||
* - login
|
||||
* - host
|
||||
* - database
|
||||
* - port
|
||||
* - prefix
|
||||
* - schema
|
||||
*
|
||||
* @param array $var The array to export.
|
||||
* @param integer $depth The current depth, used for recursion tracking.
|
||||
* @param integer $indent The current indentation level.
|
||||
* @return string Exported array.
|
||||
*/
|
||||
protected static function _array(array $var, $depth, $indent) {
|
||||
$var = array_merge($var, array_intersect_key(array(
|
||||
$secrets = array(
|
||||
'password' => '*****',
|
||||
'login' => '*****',
|
||||
'host' => '*****',
|
||||
|
@ -510,7 +520,9 @@ class Debugger {
|
|||
'port' => '*****',
|
||||
'prefix' => '*****',
|
||||
'schema' => '*****'
|
||||
), $var));
|
||||
);
|
||||
$replace = array_intersect_key($secrets, $var);
|
||||
$var = $replace + $var;
|
||||
|
||||
$out = "array(";
|
||||
$n = $break = $end = null;
|
||||
|
|
Loading…
Add table
Reference in a new issue