From 8fadcbafeae6b02c571cbefea0483c08a1047d5b Mon Sep 17 00:00:00 2001 From: "renan.saddam" Date: Fri, 19 Sep 2008 00:01:48 +0000 Subject: [PATCH] Added test to show parent transversal bug. Merged patch from 'sneeka2'. Refs #5225 git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@7626 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/tests/cases/libs/set.test.php | 65 ++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/cake/tests/cases/libs/set.test.php b/cake/tests/cases/libs/set.test.php index c15e734dc..d1ec158d1 100644 --- a/cake/tests/cases/libs/set.test.php +++ b/cake/tests/cases/libs/set.test.php @@ -688,6 +688,71 @@ class SetTest extends CakeTestCase { $this->assertEqual($r[0]['Comment']['User']['name'], 'bob'); $this->assertEqual($r[1]['Comment']['User']['name'], 'tod'); $this->assertEqual(count($r), 2); + + $tree = array( + array( + 'Category' => array( + 'name' => 'Category 1' + ), + 'children' => array( + array( + 'Category' => array( + 'name' => 'Category 1.1' + ) + ) + ) + ), + array( + 'Category' => array( + 'name' => 'Category 2' + ), + 'children' => array( + array( + 'Category' => array( + 'name' => 'Category 2.1' + ) + ) + ) + ), + array( + 'Category' => array( + 'name' => 'Category 3' + ), + 'children' => array( + array( + 'Category' => array( + 'name' => 'Category 3.1' + ) + ) + ) + ) + ); + $expected = array( + array( + 'Category' => array( + 'name' => 'Category 2' + ), + 'children' => array( + array( + 'Category' => array( + 'name' => 'Category 2.1' + ) + ) + ) + ) + ); + $r = Set::extract('/Category[name=Category 2]/..', $tree); + $this->assertEqual($r, $expected); + + $expected = array( + array( + 'Category' => array( + 'name' => 'Category 2.1' + ) + ) + ); + $r = Set::extract('/Category[name=Category 2]/../children/.', $tree); + $this->assertEqual($r, $expected); } /** * testMatches method