Package org.eclipse.egit.core.test

Examples of org.eclipse.egit.core.test.TestProject


    assertEquals("/bin/\n", content);
  }

  @Test
  public void testWithNestedProjects() throws Exception {
    TestProject nested = new TestProject(true, "Project-1/Project-2");
    try {
      // Use Project-1 to create folder, Project-2 to get file to try to
      // confuse any caches in workspace root (location -> IResource).
      project.createFolder("Project-2/please");
      IFile ignoreme = nested.createFile("please/ignoreme", new byte[0]);
      IgnoreOperation operation = executeIgnore(ignoreme.getLocation());
      String content = nested.getFileContent("please/.gitignore");
      assertEquals("/ignoreme\n", content);
      assertFalse(operation.isGitignoreOutsideWSChanged());
    } finally {
      nested.dispose();
    }
  }
View Full Code Here


    SystemReader.setInstance(null);
  }

  private TestProject initRepoInsideProjectInsideWorkspace() throws IOException,
      CoreException {
    TestProject project = new TestProject(true, "Project-1", true, workspaceSupplement);
    File gitDir = new File(project.getProject().getLocationURI().getPath(),
        Constants.DOT_GIT);
    testDirs.add(gitDir);
    testRepository = new TestRepository(gitDir);
    repository = testRepository.getRepository();
    testRepository.connect(project.getProject());
    registerWorkspaceRelativeTestDir("Project-1");
    return project;
  }
View Full Code Here

    return project;
  }

  private TestProject initRepoInsideProjectOutsideWorkspace()
      throws IOException, CoreException {
    TestProject project = new TestProject(true, "Project-1", false,
        workspaceSupplement);
    File gitDir = new File(project.getProject().getLocationURI().getPath(),
        Constants.DOT_GIT);
    testDirs.add(gitDir);
    testRepository = new TestRepository(gitDir);
    repository = testRepository.getRepository();
    testRepository.connect(project.getProject());
    return project;
  }
View Full Code Here

  }

  private TestProject initRepoAboveProject(String srcParent, String d, boolean insidews)
      throws IOException, CoreException {
    registerWorkspaceRelativeTestDir(srcParent);
    TestProject project = new TestProject(true, srcParent + "Project-1", insidews, workspaceSupplement);
    File gd = new File(insidews?workspace:workspaceSupplement, d);

    File gitDir = new File(gd, Constants.DOT_GIT);
    testDirs.add(gitDir);
    testRepository = new TestRepository(gitDir);
    repository = testRepository.getRepository();
    testRepository.connect(project.getProject());
    return project;
  }
View Full Code Here

    return project;
  }

  @Test
  public void testDeleteFile() throws Exception {
    TestProject project = initRepoInsideProjectInsideWorkspace();
    testUtils.addFileToProject(project.getProject(), "file.txt",
        "some text");
    testUtils.addFileToProject(project.getProject(), "file2.txt",
        "some  more text");
    AddToIndexOperation addToIndexOperation = new AddToIndexOperation(
        new IResource[] { project.getProject().getFile("file.txt"),
            project.getProject().getFile("file2.txt") });
    addToIndexOperation.execute(null);

    // Validate pre-conditions
    DirCache dirCache = DirCache.read(repository.getIndexFile(),
        FS.DETECTED);
    assertEquals(2, dirCache.getEntryCount());
    assertNotNull(dirCache.getEntry("file.txt"));
    assertNotNull(dirCache.getEntry("file2.txt"));
    // Modify the content before the move
    testUtils.changeContentOfFile(project.getProject(), project
        .getProject().getFile("file.txt"), "other text");
    project.getProject().getFile("file.txt").delete(true, null);

    // Check index for the deleted file
    dirCache.read();
    assertEquals(1, dirCache.getEntryCount());
    assertNull(dirCache.getEntry("file.txt"));
    assertNotNull(dirCache.getEntry("file2.txt"));
    // Actual file is deleted
    assertFalse(project.getProject().getFile("file.txt").exists());
    // But a non-affected file remains
    assertTrue(project.getProject().getFile("file2.txt").exists());
  }
View Full Code Here

    assertTrue(project.getProject().getFile("file2.txt").exists());
  }

  @Test
  public void testDeleteFolder() throws Exception {
    TestProject project = initRepoInsideProjectInsideWorkspace();
    testUtils.addFileToProject(project.getProject(), "folder/file.txt",
        "some text");
    testUtils.addFileToProject(project.getProject(), "folder2/file.txt",
        "some other text");
    AddToIndexOperation addToIndexOperation = new AddToIndexOperation(
        new IResource[] {
            project.getProject().getFile("folder/file.txt"),
            project.getProject().getFile("folder2/file.txt") });
    addToIndexOperation.execute(null);

    DirCache dirCache = DirCache.read(repository.getIndexFile(),
        FS.DETECTED);
    assertNotNull(dirCache.getEntry("folder/file.txt"));
    assertNotNull(dirCache.getEntry("folder2/file.txt"));
    // Modify the content before the move
    testUtils.changeContentOfFile(project.getProject(), project
        .getProject().getFile("folder/file.txt"), "other text");
    project.getProject().getFolder("folder").delete(true, null);

    dirCache.read();
    // Unlike delete file, dircache is untouched... pretty illogical
    // TODO: Change the behavior of the hook.
    assertNotNull(dirCache.getEntry("folder/file.txt"));
View Full Code Here

    assertNotNull(dirCache.getEntry("folder2/file.txt"));
  }

  @Test
  public void testDeleteProject() throws Exception {
    TestProject project = initRepoAboveProjectInsideWs("P/", "");
    testUtils.addFileToProject(project.getProject(), "file.txt",
        "some text");
    AddToIndexOperation addToIndexOperation = new AddToIndexOperation(
        new IResource[] { project.getProject().getFile("file.txt") });
    addToIndexOperation.execute(null);

    RepositoryMapping mapping = RepositoryMapping.getMapping(project
        .getProject());
    IPath gitDirAbsolutePath = mapping.getGitDirAbsolutePath();
    Repository db = FileRepositoryBuilder.create(gitDirAbsolutePath
        .toFile());
    DirCache index = DirCache.read(db.getIndexFile(), db.getFS());
    assertNotNull(index.getEntry("P/Project-1/file.txt"));
    db.close();
    db = null;
    project.getProject().delete(true, null);
    assertNull(RepositoryMapping.getMapping(project.getProject()));
    // Check that the repo is still there. Being a bit paranoid we look for
    // a file
    assertTrue(gitDirAbsolutePath.toString(),
        gitDirAbsolutePath.append("HEAD").toFile().exists());
View Full Code Here

    db.close();
  }

  @Test
  public void testMoveFile() throws Exception {
    TestProject project = initRepoInsideProjectInsideWorkspace();
    testUtils.addFileToProject(project.getProject(), "file.txt",
        "some text");
    testUtils.addFileToProject(project.getProject(), "file2.txt",
        "some  more text");
    AddToIndexOperation addToIndexOperation = new AddToIndexOperation(
        new IResource[] { project.getProject().getFile("file.txt"),
            project.getProject().getFile("file2.txt") });
    addToIndexOperation.execute(null);

    // Validate pre-conditions
    DirCache dirCache = DirCache.read(repository.getIndexFile(),
        FS.DETECTED);
    assertNotNull(dirCache.getEntry("file.txt"));
    assertNotNull(dirCache.getEntry("file2.txt"));
    assertNull(dirCache.getEntry("data.txt"));
    assertFalse(project.getProject().getFile("data.txt").exists());
    ObjectId oldContentId = dirCache.getEntry("file.txt").getObjectId();
    // Modify the content before the move
    testUtils.changeContentOfFile(project.getProject(), project
        .getProject().getFile("file.txt"), "other text");
    project.getProject()
        .getFile("file.txt")
        .move(project.getProject().getFile("data.txt").getFullPath(),
            false, null);

    dirCache.read();
    assertTrue(project.getProject().getFile("data.txt").exists());
    assertNotNull(dirCache.getEntry("data.txt"));
    // Same content in index as before the move
    assertEquals(oldContentId, dirCache.getEntry("data.txt").getObjectId());

    // Not moved file still in its old place
View Full Code Here

   *
   * @throws Exception
   */
  @Test
  public void testMoveFolder() throws Exception {
    TestProject project = initRepoInsideProjectInsideWorkspace();
    testUtils.addFileToProject(project.getProject(), "folder/file.txt",
        "some text");
    testUtils.addFileToProject(project.getProject(), "folder2/file.txt",
        "some other text");
    AddToIndexOperation addToIndexOperation = new AddToIndexOperation(
        new IResource[] {
            project.getProject().getFile("folder/file.txt"),
            project.getProject().getFile("folder2/file.txt") });
    addToIndexOperation.execute(null);

    DirCache dirCache = DirCache.read(repository.getIndexFile(),
        FS.DETECTED);
    assertNotNull(dirCache.getEntry("folder/file.txt"));
    assertNotNull(dirCache.getEntry("folder2/file.txt"));
    assertNull(dirCache.getEntry("dir/file.txt"));
    assertFalse(project.getProject().getFile("dir/file.txt").exists());
    ObjectId oldContentId = dirCache.getEntry("folder/file.txt")
        .getObjectId();
    // Modify the content before the move
    testUtils.changeContentOfFile(project.getProject(), project
        .getProject().getFile("folder/file.txt"), "other text");
    project.getProject()
        .getFolder("folder")
        .move(project.getProject().getFolder("dir").getFullPath(),
            false, null);

    dirCache.read();
    assertTrue(project.getProject().getFile("dir/file.txt").exists());
    assertNull(dirCache.getEntry("folder/file.txt"));
    assertNotNull(dirCache.getEntry("dir/file.txt"));
    // Same content in index as before the move
    assertEquals(oldContentId, dirCache.getEntry("dir/file.txt")
        .getObjectId());
View Full Code Here

  @Test
  public void testMoveAndRenameProjectContainingGitRepo() throws Exception {
    ResourcesPlugin.getWorkspace().getRoot().getProject("Project-1").delete(true, null);
    ResourcesPlugin.getWorkspace().getRoot().getProject("P2").delete(true, null);

    TestProject project = initRepoInsideProjectInsideWorkspace();
    testUtils.addFileToProject(project.getProject(), "file.txt",
        "some text");
    AddToIndexOperation addToIndexOperation = new AddToIndexOperation(
        new IResource[] { project.getProject().getFile("file.txt") });
    addToIndexOperation.execute(null);
    IProjectDescription description = project.getProject().getDescription();
    description.setName("P2");
    registerWorkspaceRelativeTestDir("P2");
    project.getProject().move(description,
        IResource.FORCE | IResource.SHALLOW, null);
    IProject project2 = ResourcesPlugin.getWorkspace().getRoot()
        .getProject("P2");
    assertNotNull(RepositoryMapping.getMapping(project2.getProject()));
    Repository movedRepo = RepositoryMapping.getMapping(project2)
View Full Code Here

TOP

Related Classes of org.eclipse.egit.core.test.TestProject

Copyright © 2018 www.massapicom. 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.