11<?php
22namespace PHPCR \Tests \Versioning ;
33
4+ use PHPCR \Util \PathHelper ;
45use PHPCR \Version \VersionHistoryInterface ;
6+ use PHPCR \Version \VersionManagerInterface ;
57
68require_once (__DIR__ . '/../../inc/BaseCase.php ' );
79
1214 */
1315class VersionHistoryTest extends \PHPCR \Test \BaseCase
1416{
17+ /**
18+ * @var VersionManagerInterface
19+ */
20+ private $ vm ;
21+
22+ /**
23+ * @var VersionHistoryInterface
24+ */
25+ private $ history ;
26+
1527 public static function setupBeforeClass ($ fixtures = '15_Versioning/base ' )
1628 {
1729 parent ::setupBeforeClass ($ fixtures );
@@ -45,15 +57,15 @@ public function testGetAllLinearFrozenNodes()
4557 $ frozenNodes = $ this ->history ->getAllLinearFrozenNodes ();
4658 $ this ->assertTraversableImplemented ($ frozenNodes );
4759
48- $ this ->assertEquals (5 , count ( $ frozenNodes) );
60+ $ this ->assertCount (5 , $ frozenNodes );
4961
62+ $ lastNode = null ;
5063 foreach ($ frozenNodes as $ name => $ node ) {
5164 $ this ->assertInstanceOf ('PHPCR\NodeInterface ' , $ node );
5265 $ this ->assertInternalType ('string ' , $ name );
66+ $ lastNode = $ node ;
5367 }
5468
55- $ firstNode = reset ($ frozenNodes );
56- $ lastNode = end ($ frozenNodes );
5769 $ currentNode = $ this ->vm ->getBaseVersion ('/tests_version_base/versioned ' )->getFrozenNode ();
5870
5971 $ this ->assertSame ($ currentNode , $ lastNode );
@@ -65,15 +77,15 @@ public function testGetAllFrozenNodes()
6577 $ frozenNodes = $ this ->history ->getAllFrozenNodes ();
6678 $ this ->assertTraversableImplemented ($ frozenNodes );
6779
68- $ this ->assertEquals (5 , count ( $ frozenNodes) );
80+ $ this ->assertCount (5 , $ frozenNodes );
6981
82+ $ lastNode = null ;
7083 foreach ($ frozenNodes as $ name => $ node ) {
7184 $ this ->assertInstanceOf ('PHPCR\NodeInterface ' , $ node );
7285 $ this ->assertInternalType ('string ' , $ name );
86+ $ lastNode = $ node ;
7387 }
7488
75- $ firstNode = reset ($ frozenNodes );
76- $ lastNode = end ($ frozenNodes );
7789 $ currentNode = $ this ->vm ->getBaseVersion ('/tests_version_base/versioned ' )->getFrozenNode ();
7890
7991 $ this ->assertSame ($ currentNode , $ lastNode );
@@ -86,22 +98,23 @@ public function testGetAllLinearVersions()
8698 $ versions = $ this ->history ->getAllLinearVersions ();
8799 $ this ->assertTraversableImplemented ($ versions );
88100
89- $ this ->assertEquals (5 , count ( $ versions) );
101+ $ this ->assertCount (5 , $ versions );
90102
103+ $ firstVersion = $ versions ->current ();
104+ $ lastVersion = null ;
91105 foreach ($ versions as $ name => $ version ) {
92106 $ this ->assertInstanceOf ('PHPCR\Version\VersionInterface ' , $ version );
93107 $ this ->assertEquals ($ version ->getName (), $ name );
108+ $ lastVersion = $ version ;
94109 }
95110
96- $ firstVersion = reset ($ versions );
97- $ lastVersion = end ($ versions );
98111 $ currentVersion = $ this ->vm ->getBaseVersion ('/tests_version_base/versioned ' );
99112
100113 $ this ->assertSame ($ currentVersion , $ lastVersion );
101- $ this ->assertEquals (0 , count ( $ firstVersion ->getPredecessors () ));
102- $ this ->assertEquals (1 , count ( $ firstVersion ->getSuccessors () ));
103- $ this ->assertEquals (1 , count ( $ lastVersion ->getPredecessors () ));
104- $ this ->assertEquals (0 , count ( $ lastVersion ->getSuccessors () ));
114+ $ this ->assertCount (0 , $ firstVersion ->getPredecessors ());
115+ $ this ->assertCount (1 , $ firstVersion ->getSuccessors ());
116+ $ this ->assertCount (1 , $ lastVersion ->getPredecessors ());
117+ $ this ->assertCount (0 , $ lastVersion ->getSuccessors ());
105118 }
106119
107120 public function testGetAllVersions ()
@@ -110,22 +123,23 @@ public function testGetAllVersions()
110123 $ versions = $ this ->history ->getAllVersions ();
111124 $ this ->assertTraversableImplemented ($ versions );
112125
113- $ this ->assertEquals (5 , count ( $ versions) );
126+ $ this ->assertCount (5 , $ versions );
114127
128+ $ firstVersion = $ versions ->current ();
129+ $ lastVersion = null ;
115130 foreach ($ versions as $ name => $ version ) {
116131 $ this ->assertInstanceOf ('PHPCR\Version\VersionInterface ' , $ version );
117132 $ this ->assertEquals ($ version ->getName (), $ name );
133+ $ lastVersion = $ version ;
118134 }
119135
120- $ firstVersion = reset ($ versions );
121- $ lastVersion = end ($ versions );
122136 $ currentVersion = $ this ->vm ->getBaseVersion ('/tests_version_base/versioned ' );
123137
124138 $ this ->assertSame ($ currentVersion , $ lastVersion );
125- $ this ->assertEquals (0 , count ( $ firstVersion ->getPredecessors () ));
126- $ this ->assertEquals (1 , count ( $ firstVersion ->getSuccessors () ));
127- $ this ->assertEquals (1 , count ( $ lastVersion ->getPredecessors () ));
128- $ this ->assertEquals (0 , count ( $ lastVersion ->getSuccessors () ));
139+ $ this ->assertCount (0 , $ firstVersion ->getPredecessors ());
140+ $ this ->assertCount (1 , $ firstVersion ->getSuccessors ());
141+ $ this ->assertCount (1 , $ lastVersion ->getPredecessors ());
142+ $ this ->assertCount (0 , $ lastVersion ->getSuccessors ());
129143 }
130144
131145 /**
@@ -156,21 +170,22 @@ public function testMixingCreateAndGetAllVersions()
156170 $ vm ->checkin ('/tests_version_base/versioned_all ' );
157171 $ this ->assertCount (3 , $ history ->getAllVersions ());
158172
159- foreach ($ history ->getAllVersions () as $ name => $ version ) {
173+ $ finalVersions = $ history ->getAllVersions ();
174+ $ firstVersion = $ finalVersions ->current ();
175+ $ lastVersion = null ;
176+ foreach ($ finalVersions as $ name => $ version ) {
160177 $ this ->assertInstanceOf ('PHPCR\Version\VersionInterface ' , $ version );
161178 $ this ->assertEquals ($ version ->getName (), $ name );
179+ $ lastVersion = $ version ;
162180 }
163181
164- $ finalVersions = $ history ->getAllVersions ();
165- $ firstVersion = reset ($ finalVersions );
166- $ lastVersion = end ($ finalVersions );
167182 $ currentVersion = $ this ->vm ->getBaseVersion ('/tests_version_base/versioned_all ' );
168183
169184 $ this ->assertSame ($ currentVersion , $ lastVersion );
170- $ this ->assertEquals (0 , count ( $ firstVersion ->getPredecessors () ));
171- $ this ->assertEquals (1 , count ( $ firstVersion ->getSuccessors () ));
172- $ this ->assertEquals (1 , count ( $ lastVersion ->getPredecessors () ));
173- $ this ->assertEquals (0 , count ( $ lastVersion ->getSuccessors () ));
185+ $ this ->assertCount (0 , $ firstVersion ->getPredecessors ());
186+ $ this ->assertCount (1 , $ firstVersion ->getSuccessors ());
187+ $ this ->assertCount (1 , $ lastVersion ->getPredecessors ());
188+ $ this ->assertCount (0 , $ lastVersion ->getSuccessors ());
174189 }
175190
176191 /**
@@ -197,28 +212,29 @@ public function testMixingCreateAndGetAllLinearVersions()
197212 $ vm ->checkin ('/tests_version_base/versioned_all_linear ' );
198213 $ this ->assertCount (3 , $ history ->getAllLinearVersions ());
199214
200- foreach ($ history ->getAllLinearVersions () as $ name => $ version ) {
215+ $ finalVersions = $ history ->getAllLinearVersions ();
216+ $ firstVersion = $ finalVersions ->current ();
217+ $ lastVersion = null ;
218+ foreach ($ finalVersions as $ name => $ version ) {
201219 $ this ->assertInstanceOf ('PHPCR\Version\VersionInterface ' , $ version );
202220 $ this ->assertEquals ($ version ->getName (), $ name );
221+ $ lastVersion = $ version ;
203222 }
204223
205- $ finalVersions = $ history ->getAllLinearVersions ();
206- $ firstVersion = reset ($ finalVersions );
207- $ lastVersion = end ($ finalVersions );
208224 $ currentVersion = $ this ->vm ->getBaseVersion ('/tests_version_base/versioned_all_linear ' );
209225
210226 $ this ->assertSame ($ currentVersion , $ lastVersion );
211- $ this ->assertEquals (0 , count ( $ firstVersion ->getPredecessors () ));
212- $ this ->assertEquals (1 , count ( $ firstVersion ->getSuccessors () ));
213- $ this ->assertEquals (1 , count ( $ lastVersion ->getPredecessors () ));
214- $ this ->assertEquals (0 , count ( $ lastVersion ->getSuccessors () ));
227+ $ this ->assertCount (0 , $ firstVersion ->getPredecessors ());
228+ $ this ->assertCount (1 , $ firstVersion ->getSuccessors ());
229+ $ this ->assertCount (1 , $ lastVersion ->getPredecessors ());
230+ $ this ->assertCount (0 , $ lastVersion ->getSuccessors ());
215231 }
216232
217233 public function testGetRootVersion ()
218234 {
219235 $ rootVersion = $ this ->history ->getRootVersion ();
220236 $ this ->assertInstanceOf ('PHPCR \\Version \\VersionInterface ' , $ rootVersion );
221- $ this ->assertEquals ($ this ->history ->getPath (), dirname ($ rootVersion ->getPath ()));
237+ $ this ->assertEquals ($ this ->history ->getPath (), PathHelper:: getParentPath ($ rootVersion ->getPath ()));
222238 }
223239
224240 public function testGetVersionableIdentifier ()
@@ -282,7 +298,7 @@ public function testDeleteLatestVersion()
282298 */
283299 public function testDeleteUnexistingVersion ()
284300 {
285- $ version = $ this ->vm ->checkpoint ('/tests_version_base/versioned ' );
301+ $ this ->vm ->checkpoint ('/tests_version_base/versioned ' );
286302 $ history = $ this ->vm ->getVersionHistory ('/tests_version_base/versioned ' );
287303 $ history ->removeVersion ('unexisting ' );
288304 }
0 commit comments