Package org.eclipse.egit.core.test.op

Source Code of org.eclipse.egit.core.test.op.BranchOperationTest

/*******************************************************************************
* Copyright (C) 2010, Jens Baumgart <jens.baumgart@sap.com>
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
package org.eclipse.egit.core.test.op;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import java.io.File;

import org.eclipse.egit.core.op.BranchOperation;
import org.eclipse.egit.core.test.GitTestCase;
import org.eclipse.egit.core.test.TestRepository;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.Repository;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class BranchOperationTest extends GitTestCase{

  private static final String TEST = Constants.R_HEADS + "test";
  private static final String MASTER = Constants.R_HEADS + "master";
  TestRepository testRepository;
  Repository repository;

  @Before
  public void setUp() throws Exception {
    super.setUp();
    testRepository = new TestRepository(gitDir);
    repository = testRepository.getRepository();
  }

  @After
  public void tearDown() throws Exception {
    testRepository.dispose();
    repository = null;
    super.tearDown();
  }

  @Test
  public void testBranchOperation() throws Exception {
    // create first commit containing a dummy file
    testRepository.createInitialCommit("testBranchOperation\n\nfirst commit\n");
    // create branch test and switch to branch test
    testRepository.createBranch(MASTER, TEST);
    new BranchOperation(repository, TEST).execute(null);
    assertTrue(repository.getFullBranch().equals(TEST));
    // add .project to version control and commit
    String path = project.getProject().getLocation().append(".project").toOSString();
    File file = new File(path);
    testRepository.track(file);
    testRepository.commit("Add .project file");
    // switch back to master branch
    // .project must disappear, related Eclipse project must be deleted
    new BranchOperation(repository, MASTER).execute(null);
    assertFalse(file.exists());
    assertFalse(project.getProject().exists());
    // switch back to master test
    // .project must reappear
    new BranchOperation(repository, TEST).execute(null);
    assertTrue(file.exists());
  }
}
TOP

Related Classes of org.eclipse.egit.core.test.op.BranchOperationTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.