Mercurial > hg4j
comparison test/org/tmatesoft/hg/test/TestHistory.java @ 522:2103388d4010 v1.1m2
Expose option to report changesets in reversed order
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Wed, 26 Dec 2012 18:14:53 +0100 |
parents | 59e555c85da0 |
children | f7fbf48b9383 |
comparison
equal
deleted
inserted
replaced
521:59e555c85da0 | 522:2103388d4010 |
---|---|
18 | 18 |
19 import static org.hamcrest.CoreMatchers.equalTo; | 19 import static org.hamcrest.CoreMatchers.equalTo; |
20 import static org.hamcrest.CoreMatchers.is; | 20 import static org.hamcrest.CoreMatchers.is; |
21 import static org.junit.Assert.assertEquals; | 21 import static org.junit.Assert.assertEquals; |
22 import static org.junit.Assert.assertTrue; | 22 import static org.junit.Assert.assertTrue; |
23 import static org.tmatesoft.hg.core.HgIterateDirection.NewToOld; | |
23 | 24 |
24 import java.util.ArrayList; | 25 import java.util.ArrayList; |
25 import java.util.Collections; | 26 import java.util.Collections; |
26 import java.util.Comparator; | 27 import java.util.Comparator; |
27 import java.util.Iterator; | 28 import java.util.Iterator; |
94 changelogParser.reset(); | 95 changelogParser.reset(); |
95 eh.run("hg", "log", "--debug"); | 96 eh.run("hg", "log", "--debug"); |
96 List<HgChangeset> r = new HgLogCommand(repo).execute(); | 97 List<HgChangeset> r = new HgLogCommand(repo).execute(); |
97 report("hg log - COMPLETE REPO HISTORY", r, true); | 98 report("hg log - COMPLETE REPO HISTORY", r, true); |
98 | 99 |
99 r = new HgLogCommand(repo).debugSwitch1().execute(); | 100 r = new HgLogCommand(repo).order(NewToOld).execute(); |
100 report("hg log - COMPLETE REPO HISTORY, FROM NEW TO OLD", r, false); | 101 report("hg log - COMPLETE REPO HISTORY, FROM NEW TO OLD", r, false); |
101 } | 102 } |
102 | 103 |
103 @Test | 104 @Test |
104 public void testFollowHistory() throws Exception { | 105 public void testFollowHistory() throws Exception { |
172 errorCollector.assertEquals(lastRevOfFname1, h.lastChangesetReportedAtRename.get(0).getNodeid().toString()); | 173 errorCollector.assertEquals(lastRevOfFname1, h.lastChangesetReportedAtRename.get(0).getNodeid().toString()); |
173 report("HgChangesetHandler(renames: true, ancestry:false)", h.getChanges(), true); | 174 report("HgChangesetHandler(renames: true, ancestry:false)", h.getChanges(), true); |
174 // | 175 // |
175 // Direction | 176 // Direction |
176 h = new CollectWithRenameHandler(); | 177 h = new CollectWithRenameHandler(); |
177 new HgLogCommand(repo).file(fname2, true, false).debugSwitch1().execute(h); | 178 new HgLogCommand(repo).file(fname2, true, false).order(NewToOld).execute(h); |
178 // Identical rename shall be reported, at the same moment | 179 // Identical rename shall be reported, at the same moment |
179 errorCollector.assertEquals(1, h.rh.renames.size()); | 180 errorCollector.assertEquals(1, h.rh.renames.size()); |
180 rename = h.rh.renames.get(0); | 181 rename = h.rh.renames.get(0); |
181 errorCollector.assertEquals(fname1, rename.first().getPath().toString()); | 182 errorCollector.assertEquals(fname1, rename.first().getPath().toString()); |
182 errorCollector.assertEquals(fname2, rename.second().getPath().toString()); | 183 errorCollector.assertEquals(fname2, rename.second().getPath().toString()); |
214 | 215 |
215 // Direction | 216 // Direction |
216 h = new TreeCollectHandler(false); | 217 h = new TreeCollectHandler(false); |
217 rh = new RenameCollector(h); | 218 rh = new RenameCollector(h); |
218 // h.checkPrevInChildren = true; see above | 219 // h.checkPrevInChildren = true; see above |
219 new HgLogCommand(repo).file(fname2, true, false).debugSwitch1().execute(h); | 220 new HgLogCommand(repo).file(fname2, true, false).order(NewToOld).execute(h); |
220 errorCollector.assertEquals(1, rh.renames.size()); | 221 errorCollector.assertEquals(1, rh.renames.size()); |
221 rename = rh.renames.get(0); | 222 rename = rh.renames.get(0); |
222 errorCollector.assertEquals(fname1, rename.first().getPath().toString()); | 223 errorCollector.assertEquals(fname1, rename.first().getPath().toString()); |
223 errorCollector.assertEquals(fname2, rename.second().getPath().toString()); | 224 errorCollector.assertEquals(fname2, rename.second().getPath().toString()); |
224 report("HgChangesetTreeHandler(renames: true, ancestry:false)", h.getResult(), false); | 225 report("HgChangesetTreeHandler(renames: true, ancestry:false)", h.getResult(), false); |
236 errorCollector.assertEquals(0, h.rh.renames.size()); | 237 errorCollector.assertEquals(0, h.rh.renames.size()); |
237 report("HgChangesetHandler(renames: false, ancestry:true)", h.getChanges(), fname2Follow, true, errorCollector); | 238 report("HgChangesetHandler(renames: false, ancestry:true)", h.getChanges(), fname2Follow, true, errorCollector); |
238 // | 239 // |
239 // Direction | 240 // Direction |
240 h = new CollectWithRenameHandler(); | 241 h = new CollectWithRenameHandler(); |
241 new HgLogCommand(repo).file(fname2, false, true).debugSwitch1().execute(h); | 242 new HgLogCommand(repo).file(fname2, false, true).order(NewToOld).execute(h); |
242 report("HgChangesetHandler(renames: false, ancestry:true)", h.getChanges(), fname2Follow, false/*!!!*/, errorCollector); | 243 report("HgChangesetHandler(renames: false, ancestry:true)", h.getChanges(), fname2Follow, false/*!!!*/, errorCollector); |
243 // | 244 // |
244 // TreeChangeHandler - in #testChangesetTreeFollowAncestryNotRenames | 245 // TreeChangeHandler - in #testChangesetTreeFollowAncestryNotRenames |
245 } | 246 } |
246 | 247 |
259 | 260 |
260 // Direction | 261 // Direction |
261 h = new TreeCollectHandler(false); | 262 h = new TreeCollectHandler(false); |
262 rh = new RenameCollector(h); | 263 rh = new RenameCollector(h); |
263 h.checkPrevInChildren = true; | 264 h.checkPrevInChildren = true; |
264 new HgLogCommand(repo).file(fname2, false, true).debugSwitch1().execute(h); | 265 new HgLogCommand(repo).file(fname2, false, true).order(NewToOld).execute(h); |
265 report("HgChangesetTreeHandler(renames: false, ancestry:true)", h.getResult(), fname2Follow, false, errorCollector); | 266 report("HgChangesetTreeHandler(renames: false, ancestry:true)", h.getResult(), fname2Follow, false, errorCollector); |
266 } | 267 } |
267 | 268 |
268 | 269 |
269 private List<Record> getAncestryWithoutRenamesFromCmdline(String fname2) throws Exception { | 270 private List<Record> getAncestryWithoutRenamesFromCmdline(String fname2) throws Exception { |
315 // finally, match output | 316 // finally, match output |
316 report("HgChangesetHandler(renames: true, ancestry:true)", h.getChanges(), true); | 317 report("HgChangesetHandler(renames: true, ancestry:true)", h.getChanges(), true); |
317 // | 318 // |
318 // Switch direction and compare, order shall match that from console | 319 // Switch direction and compare, order shall match that from console |
319 h = new CollectWithRenameHandler(); | 320 h = new CollectWithRenameHandler(); |
320 new HgLogCommand(repo).file(fname2, true, true).debugSwitch1().execute(h); | 321 new HgLogCommand(repo).file(fname2, true, true).order(NewToOld).execute(h); |
321 // Identical rename event shall be reported | 322 // Identical rename event shall be reported |
322 errorCollector.assertEquals(1, h.rh.renames.size()); | 323 errorCollector.assertEquals(1, h.rh.renames.size()); |
323 rename = h.rh.renames.get(0); | 324 rename = h.rh.renames.get(0); |
324 errorCollector.assertEquals(fname1, rename.first().getPath().toString()); | 325 errorCollector.assertEquals(fname1, rename.first().getPath().toString()); |
325 errorCollector.assertEquals(fname2, rename.second().getPath().toString()); | 326 errorCollector.assertEquals(fname2, rename.second().getPath().toString()); |