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

testExtractHasMany() public method

public testExtractHasMany ( )
    public function testExtractHasMany()
    {
        $tricky = array(0 => array('User' => array('id' => 1, 'name' => 'John')), 1 => array('User' => array('id' => 2, 'name' => 'Bob')), 2 => array('User' => array('id' => 3, 'name' => 'Tony')), 'User' => array('id' => 4, 'name' => 'Neo'));
        $expected = array(1, 2, 3, 4);
        $result = Set::extract($tricky, '/User/id');
        $this->assertEqual($expected, $result);
        $expected = array(1, 3);
        $result = Set::extract($tricky, '/User[name=/n/]/id');
        $this->assertEqual($expected, $result);
        $expected = array(4);
        $result = Set::extract($tricky, '/User[name=/N/]/id');
        $this->assertEqual($expected, $result);
        $expected = array(1, 3, 4);
        $result = Set::extract($tricky, '/User[name=/N/i]/id');
        $this->assertEqual($expected, $result);
        $expected = array(array('id', 'name'), array('id', 'name'), array('id', 'name'), array('id', 'name'));
        $result = Set::extract($tricky, '/User/@*');
        $this->assertEqual($expected, $result);
    }