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());