Skip to content

Commit 883d30a

Browse files
committed
added tests for Jackalope fetch depth option
1 parent 6776d95 commit 883d30a

File tree

2 files changed

+113
-0
lines changed

2 files changed

+113
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<sv:node
3+
xmlns:mix="http://www.jcp.org/jcr/mix/1.0"
4+
xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
5+
xmlns:jcr="http://www.jcp.org/jcr/1.0"
6+
xmlns:sv="http://www.jcp.org/jcr/sv/1.0"
7+
8+
sv:name="tests_read_jackalope_fetch_depth">
9+
<sv:property sv:name="jcr:primaryType" sv:type="Name">
10+
<sv:value>nt:unstructured</sv:value>
11+
</sv:property>
12+
13+
<sv:node sv:name="deepExample">
14+
<sv:property sv:name="jcr:primaryType" sv:type="Name">
15+
<sv:value>nt:unstructured</sv:value>
16+
</sv:property>
17+
18+
<sv:node sv:name="deepExample">
19+
<sv:property sv:name="jcr:primaryType" sv:type="Name">
20+
<sv:value>nt:unstructured</sv:value>
21+
</sv:property>
22+
23+
<sv:node sv:name="deepExample">
24+
<sv:property sv:name="jcr:primaryType" sv:type="Name">
25+
<sv:value>nt:unstructured</sv:value>
26+
</sv:property>
27+
28+
<sv:node sv:name="deepExample">
29+
<sv:property sv:name="jcr:primaryType" sv:type="Name">
30+
<sv:value>nt:unstructured</sv:value>
31+
</sv:property>
32+
33+
<sv:node sv:name="deepExample">
34+
<sv:property sv:name="jcr:primaryType" sv:type="Name">
35+
<sv:value>nt:unstructured</sv:value>
36+
</sv:property>
37+
</sv:node>
38+
39+
</sv:node>
40+
</sv:node>
41+
</sv:node>
42+
</sv:node>
43+
</sv:node>
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
<?php
2+
namespace PHPCR\Tests\Reading;
3+
4+
require_once(__DIR__ . '/../../inc/BaseCase.php');
5+
6+
/**
7+
* functional tests for Jackalope fetch depth
8+
*/
9+
class JackalopeFetchDepthTest extends \PHPCR\Test\BaseCase
10+
{
11+
12+
public static function setupBeforeClass($fixtures = '05_Reading/jackalopeFetchDepth')
13+
{
14+
parent::setupBeforeClass($fixtures);
15+
}
16+
17+
public function setUp()
18+
{
19+
parent::setUp();
20+
$this->renewSession();
21+
}
22+
23+
public function testGetNodeWithFetchDepth()
24+
{
25+
if (!$this->session instanceof \Jackalope\Session) {
26+
return;
27+
}
28+
29+
$node = $this->rootNode->getNode('tests_read_jackalope_fetch_depth');
30+
31+
$this->session->setSessionOption(\Jackalope\Session::OPTION_FETCH_DEPTH, 5);
32+
$deepExample = $node->getNode('deepExample');
33+
$this->assertEquals(array('deepExample'), (array) $deepExample->getNodeNames());
34+
35+
$deepExample = $deepExample->getNode('deepExample');
36+
$this->assertEquals(array('deepExample'), (array) $deepExample->getNodeNames());
37+
38+
$deepExample = $deepExample->getNode('deepExample');
39+
$this->assertEquals(array('deepExample'), (array) $deepExample->getNodeNames());
40+
41+
$deepExample = $deepExample->getNode('deepExample');
42+
$this->assertEquals(array('deepExample'), (array) $deepExample->getNodeNames());
43+
}
44+
45+
public function testGetNodesWithFetchDepth()
46+
{
47+
if (!$this->session instanceof \Jackalope\Session) {
48+
return;
49+
}
50+
51+
$node = $this->rootNode->getNode('tests_read_jackalope_fetch_depth');
52+
53+
$this->session->setSessionOption(\Jackalope\Session::OPTION_FETCH_DEPTH, 5);
54+
$deepExamples = $node->getNodes('deepExample');
55+
$deepExample = $deepExamples->current();
56+
$this->assertEquals(array('deepExample'), (array) $deepExample->getNodeNames());
57+
58+
$deepExamples = $node->getNodes('deepExample');
59+
$deepExample = $deepExamples->current();
60+
$this->assertEquals(array('deepExample'), (array) $deepExample->getNodeNames());
61+
62+
$deepExamples = $node->getNodes('deepExample');
63+
$deepExample = $deepExamples->current();
64+
$this->assertEquals(array('deepExample'), (array) $deepExample->getNodeNames());
65+
66+
$deepExamples = $node->getNodes('deepExample');
67+
$deepExample = $deepExamples->current();
68+
$this->assertEquals(array('deepExample'), (array) $deepExample->getNodeNames());
69+
}
70+
}

0 commit comments

Comments
 (0)