mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-02-28 06:46:30 +00:00
Fixed Set::extract() where single numeric keys (everything not 0) were skipped. Fixes #1175
Signed-off-by: mark_story <mark@mark-story.com>
This commit is contained in:
parent
36737e6419
commit
0e5613f63d
2 changed files with 22 additions and 1 deletions
cake
|
@ -389,7 +389,7 @@ class Set {
|
||||||
$options = array_merge(array('flatten' => true), $options);
|
$options = array_merge(array('flatten' => true), $options);
|
||||||
if (!isset($contexts[0])) {
|
if (!isset($contexts[0])) {
|
||||||
$current = current($data);
|
$current = current($data);
|
||||||
if ((is_array($current) && count($data) <= 1) || !is_array($current) || !Set::numeric(array_keys($data))) {
|
if ((is_array($current) && count($data) < 1) || !is_array($current) || !Set::numeric(array_keys($data))) {
|
||||||
$contexts = array($data);
|
$contexts = array($data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1132,6 +1132,27 @@ class SetTest extends CakeTestCase {
|
||||||
$expected = array(0 => array('Article' => array('id' => 1, 'approved' => 1)));
|
$expected = array(0 => array('Article' => array('id' => 1, 'approved' => 1)));
|
||||||
$result = Set::extract('/Article[approved=1]', $startingAtOne);
|
$result = Set::extract('/Article[approved=1]', $startingAtOne);
|
||||||
$this->assertEqual($result, $expected);
|
$this->assertEqual($result, $expected);
|
||||||
|
|
||||||
|
$items = array(
|
||||||
|
240 => array(
|
||||||
|
'A' => array(
|
||||||
|
'field1' => 'a240',
|
||||||
|
'field2' => 'a240',
|
||||||
|
),
|
||||||
|
'B' => array(
|
||||||
|
'field1' => 'b240',
|
||||||
|
'field2' => 'b240'
|
||||||
|
),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$expected = array(
|
||||||
|
0 => 'b240'
|
||||||
|
);
|
||||||
|
|
||||||
|
$result = Set::extract('/B/field1', $items);
|
||||||
|
$this->assertIdentical($result, $expected);
|
||||||
|
$this->assertIdentical($result, Set::extract('{n}.B.field1', $items));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* testExtractWithArrays method
|
* testExtractWithArrays method
|
||||||
|
|
Loading…
Add table
Reference in a new issue