- 
                Notifications
    
You must be signed in to change notification settings  - Fork 21
 
Open
Description
The API tests tests with an integer:
    public function testSeekable()
    {
        $seekPosition = 2;
        $nodes = array();
        $i = 0;
        foreach ($this->nodeIterator as $path => $node) {
            if ($i++ == $seekPosition) {
                $seekNode = $node;
                $seekKey = $path;
            }
        }
        // note that in php 5.3.3, the array iterator gets the seek wrong and wants a string position instead of a number. according to the doc, we test for the correct behaviour here.
        $this->nodeIterator->seek($seekPosition);
        $this->assertEquals($seekKey, $this->nodeIterator->key());
        $this->assertEquals($seekNode, $this->nodeIterator->current());
    }in jackalope:
    public function seek($nodeName)
    {
        foreach ($this->rows as $position => $columns) {
            foreach ($columns as $column) {
                if ($column['dcr:name'] == 'jcr:path') {
                    if ($column['dcr:value'] == $nodeName) {
                        $this->position = $position;
                        return;
                    }
                }
            }
        }
        throw new OutOfBoundsException("invalid seek position ($nodeName)");
    }i.e. the API tests test with an integer, but jackalope expects a nodeName.
Doctrine DBAL skips this test:
                    // this seems a bug in php with arrayiterator - and jackalope is using
                    // arrayiterator for the search result
                    // TODO https://github.com/phpcr/phpcr-api-tests/issues/22
                    'Query\\NodeViewTest::testSeekable',
That issue has however been closed.
Metadata
Metadata
Assignees
Labels
No labels