lithium\tests\cases\util\SetTest::testExtractFromTree PHP Method

testExtractFromTree() public method

public testExtractFromTree ( )
    public function testExtractFromTree()
    {
        $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 2.2')))), array('Category' => array('name' => 'Category 3'), 'children' => array(array('Category' => array('name' => 'Category 3.1')))));
        $expected = array(array('Category' => $tree[1]['Category']));
        $result = Set::extract($tree, '/Category[name=Category 2]');
        $this->assertEqual($expected, $result);
        $expected = array(array('Category' => $tree[1]['Category'], 'children' => $tree[1]['children']));
        $result = Set::extract($tree, '/Category[name=Category 2]/..');
        $this->assertEqual($expected, $result);
        $expected = array(array('children' => $tree[1]['children'][0]), array('children' => $tree[1]['children'][1]));
        $result = Set::extract($tree, '/Category[name=Category 2]/../children');
        $this->assertEqual($expected, $result);
    }