comparison test/org/tmatesoft/hg/test/TestCommit.java @ 652:cd77bf51b562

Push: tests. Commit respects phases.new-commit setting. Fix outgoing when changes are not children of common (Issue 47)
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Tue, 02 Jul 2013 23:21:16 +0200
parents ffce73efa2c2
children 4fd317a2fecf
comparison
equal deleted inserted replaced
651:6e98d34eaca8 652:cd77bf51b562
42 import org.tmatesoft.hg.internal.FileContentSupplier; 42 import org.tmatesoft.hg.internal.FileContentSupplier;
43 import org.tmatesoft.hg.internal.Internals; 43 import org.tmatesoft.hg.internal.Internals;
44 import org.tmatesoft.hg.internal.Transaction; 44 import org.tmatesoft.hg.internal.Transaction;
45 import org.tmatesoft.hg.repo.HgDataFile; 45 import org.tmatesoft.hg.repo.HgDataFile;
46 import org.tmatesoft.hg.repo.HgLookup; 46 import org.tmatesoft.hg.repo.HgLookup;
47 import org.tmatesoft.hg.repo.HgPhase;
47 import org.tmatesoft.hg.repo.HgRepository; 48 import org.tmatesoft.hg.repo.HgRepository;
49 import org.tmatesoft.hg.repo.HgRepositoryFiles;
48 import org.tmatesoft.hg.util.Outcome; 50 import org.tmatesoft.hg.util.Outcome;
49 import org.tmatesoft.hg.util.Path; 51 import org.tmatesoft.hg.util.Path;
50 52
51 /** 53 /**
52 * Handy for debug to see patch content: 54 * Handy for debug to see patch content:
242 } 244 }
243 245
244 @Test 246 @Test
245 public void testCommandBasics() throws Exception { 247 public void testCommandBasics() throws Exception {
246 File repoLoc = RepoUtils.cloneRepoToTempLocation("log-1", "test-commit-cmd", false); 248 File repoLoc = RepoUtils.cloneRepoToTempLocation("log-1", "test-commit-cmd", false);
249 // PhasesHelper relies on file existence to tell phase enablement
250 RepoUtils.createFile(new File(repoLoc, HgRepositoryFiles.Phaseroots.getPath()), "");
247 HgRepository hgRepo = new HgLookup().detect(repoLoc); 251 HgRepository hgRepo = new HgLookup().detect(repoLoc);
248 HgDataFile dfB = hgRepo.getFileNode("b"); 252 HgDataFile dfB = hgRepo.getFileNode("b");
249 assertTrue("[sanity]", dfB.exists()); 253 assertTrue("[sanity]", dfB.exists());
250 File fileB = new File(repoLoc, "b"); 254 File fileB = new File(repoLoc, "b");
251 assertTrue("[sanity]", fileB.canRead()); 255 assertTrue("[sanity]", fileB.canRead());
284 errorCollector.assertEquals(csets.get(0).getNodeid(), c1); 288 errorCollector.assertEquals(csets.get(0).getNodeid(), c1);
285 errorCollector.assertEquals(csets.get(1).getNodeid(), c2); 289 errorCollector.assertEquals(csets.get(1).getNodeid(), c2);
286 errorCollector.assertEquals(csets.get(0).getComment(), "FIRST"); 290 errorCollector.assertEquals(csets.get(0).getComment(), "FIRST");
287 errorCollector.assertEquals(csets.get(1).getComment(), "SECOND"); 291 errorCollector.assertEquals(csets.get(1).getComment(), "SECOND");
288 assertHgVerifyOk(repoLoc); 292 assertHgVerifyOk(repoLoc);
293 // new commits are drafts by default, check our commit respects this
294 // TODO more tests with children of changesets with draft, secret or public phases (latter -
295 // new commit is child of public, but there are other commits with draft/secret phases - ensure they are intact)
296 assertEquals(HgPhase.Draft, HgPhase.parse(hgRepo.getConfiguration().getStringValue("phases", "new-commit", HgPhase.Draft.mercurialString())));
297 errorCollector.assertEquals(HgPhase.Draft, csets.get(0).getPhase());
298 errorCollector.assertEquals(HgPhase.Draft, csets.get(1).getPhase());
289 } 299 }
290 300
291 @Test 301 @Test
292 public void testUpdateActiveBookmark() throws Exception { 302 public void testUpdateActiveBookmark() throws Exception {
293 File repoLoc = RepoUtils.cloneRepoToTempLocation("log-1", "test-commit-bookmark-update", false); 303 File repoLoc = RepoUtils.cloneRepoToTempLocation("log-1", "test-commit-bookmark-update", false);