tikhomirov@286: /* tikhomirov@286: * Copyright (c) 2011 TMate Software Ltd tikhomirov@286: * tikhomirov@286: * This program is free software; you can redistribute it and/or modify tikhomirov@286: * it under the terms of the GNU General Public License as published by tikhomirov@286: * the Free Software Foundation; version 2 of the License. tikhomirov@286: * tikhomirov@286: * This program is distributed in the hope that it will be useful, tikhomirov@286: * but WITHOUT ANY WARRANTY; without even the implied warranty of tikhomirov@286: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the tikhomirov@286: * GNU General Public License for more details. tikhomirov@286: * tikhomirov@286: * For information on how to redistribute this software under tikhomirov@286: * the terms of a license other than GNU General Public License tikhomirov@286: * contact TMate Software at support@hg4j.com tikhomirov@286: */ tikhomirov@286: package org.tmatesoft.hg.test; tikhomirov@286: tikhomirov@286: import org.junit.Assert; tikhomirov@286: import org.junit.Test; tikhomirov@286: import org.tmatesoft.hg.core.Nodeid; tikhomirov@286: import org.tmatesoft.hg.repo.HgLookup; tikhomirov@286: import org.tmatesoft.hg.repo.HgRepository; tikhomirov@286: import org.tmatesoft.hg.util.Pair; tikhomirov@286: tikhomirov@286: /** tikhomirov@286: * tikhomirov@286: * @author Artem Tikhomirov tikhomirov@286: * @author TMate Software Ltd. tikhomirov@286: */ tikhomirov@286: public class TestDirstate { tikhomirov@286: private HgRepository repo; tikhomirov@286: tikhomirov@286: @Test tikhomirov@286: public void testParents() throws Exception { tikhomirov@286: repo = Configuration.get().find("log-branches"); tikhomirov@286: final Pair wcParents = repo.getWorkingCopyParents(); tikhomirov@286: Assert.assertEquals("5f24ef64e9dfb1540db524f88cb5c3d265e1a3b5", wcParents.first().toString()); tikhomirov@286: Assert.assertTrue(wcParents.second().isNull()); tikhomirov@286: // tikhomirov@286: // TODO same static and non-static tikhomirov@286: } tikhomirov@286: tikhomirov@286: @Test tikhomirov@286: public void testParentsEmptyRepo() throws Exception { tikhomirov@286: // check contract return values for empty/nonexistent dirstate tikhomirov@286: repo = new HgLookup().detect(TestIncoming.initEmptyTempRepo("testParentsEmptyRepo")); tikhomirov@286: final Pair wcParents = repo.getWorkingCopyParents(); tikhomirov@286: Assert.assertTrue(wcParents.first().isNull()); tikhomirov@286: Assert.assertTrue(wcParents.second().isNull()); tikhomirov@286: } tikhomirov@286: tikhomirov@286: @Test tikhomirov@286: public void testBranchName() throws Exception { tikhomirov@286: repo = Configuration.get().find("log-branches"); tikhomirov@286: Assert.assertEquals("test", repo.getWorkingCopyBranchName()); tikhomirov@286: repo = Configuration.get().own(); tikhomirov@286: Assert.assertEquals("default", repo.getWorkingCopyBranchName()); tikhomirov@286: } tikhomirov@293: tikhomirov@293: public void testMixedNameCaseHandling() { tikhomirov@293: // 1. dirstate: /a/b/c, FileIterator: /a/B/C tikhomirov@293: // 2. dirstate: /a/B/C, FileIterator: /a/b/c tikhomirov@293: // 2. dirstate: /a/B/C, FileIterator: /A/b/C tikhomirov@293: } tikhomirov@286: }