Mercurial > hg4j
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); |