use of org.zmlx.hg4idea.HgFile in project intellij-community by JetBrains.
the class HgEncodingTest method testUtfMessageInHistoryWithSpecialCharacters.
//test SpecialCharacters in commit message for default EncodingProject settings
public void testUtfMessageInHistoryWithSpecialCharacters() throws HgCommandException, VcsException {
cd(myRepository);
String fileName = "file.txt";
echo(fileName, "lalala");
Charset charset = HgEncodingUtil.getDefaultCharset(myProject);
String comment = "öäüß";
HgRepository hgRepo = HgRepositoryImpl.getInstance(myRepository, myProject, myProject);
HgCommitCommand commitCommand = new HgCommitCommand(myProject, hgRepo, comment);
commitCommand.executeInCurrentThread();
HgLogCommand logCommand = new HgLogCommand(myProject);
myRepository.refresh(false, true);
VirtualFile file = myRepository.findChild(fileName);
assert file != null;
List<HgFileRevision> revisions = logCommand.execute(new HgFile(myProject, file), 1, false);
HgFileRevision rev = revisions.get(0);
assertEquals(new String(comment.getBytes(charset)), rev.getCommitMessage());
}
use of org.zmlx.hg4idea.HgFile in project intellij-community by JetBrains.
the class HgAnnotationTest method testAnnotationWithVerboseOption.
public void testAnnotationWithVerboseOption() throws VcsException {
myRepository.refresh(false, true);
final VirtualFile file = myRepository.findFileByRelativePath(firstCreatedFile);
assert file != null;
List<String> users = Arrays.asList(defaultAuthor, author1, author2);
final HgFile hgFile = new HgFile(myRepository, VfsUtilCore.virtualToIoFile(file));
final String date = DateFormatUtil.formatPrettyDate(Clock.getTime());
List<HgAnnotationLine> annotationLines = new HgAnnotateCommand(myProject).execute(hgFile, null);
for (int i = 0; i < annotationLines.size(); ++i) {
HgAnnotationLine line = annotationLines.get(i);
assertEquals(users.get(i), line.get(HgAnnotation.FIELD.USER));
assertEquals(date, line.get(HgAnnotation.FIELD.DATE));
}
}
use of org.zmlx.hg4idea.HgFile in project intellij-community by JetBrains.
the class HgHistoryTest method testFileNameInTargetRevisionAfterRename.
public void testFileNameInTargetRevisionAfterRename() throws HgCommandException {
cd(myRepository);
int namesSize = names.length;
VirtualFile subDir = myRepository.findFileByRelativePath(subDirName);
assert subDir != null;
VirtualFile vFile = VfsUtil.findFileByIoFile(new File(subDir.getPath(), names[namesSize - 1]), true);
assert vFile != null;
HgFile hgFile = new HgFile(myRepository, VfsUtilCore.virtualToIoFile(vFile));
HgLogCommand logCommand = new HgLogCommand(myProject);
logCommand.setFollowCopies(true);
List<HgFileRevision> revisions = logCommand.execute(hgFile, -1, true);
for (int i = 0; i < revisions.size(); ++i) {
HgFile expectedFile = new HgFile(myRepository, new File(subDir.getPath(), names[namesSize - i - 1]));
HgFile targetFileName = HgUtil.getFileNameInTargetRevision(myProject, revisions.get(i).getRevisionNumber(), hgFile);
assertEquals(expectedFile.getRelativePath(), targetFileName.getRelativePath());
}
}
use of org.zmlx.hg4idea.HgFile in project intellij-community by JetBrains.
the class HgHistoryTest method testFileNameInTargetRevisionAfterUpdate.
public void testFileNameInTargetRevisionAfterUpdate() throws HgCommandException {
cd(myRepository);
//update to parent revision
hg("update -r .^");
//update filenames size which is in use
int namesSize = names.length - 1;
//find file with parent revision name
VirtualFile subDir = myRepository.findFileByRelativePath(subDirName);
assert subDir != null;
VirtualFile vFile = VfsUtil.findFileByIoFile(new File(subDir.getPath(), names[namesSize - 1]), true);
assert vFile != null;
HgFile hgFile = new HgFile(myRepository, VfsUtilCore.virtualToIoFile(vFile));
HgLogCommand logCommand = new HgLogCommand(myProject);
logCommand.setFollowCopies(true);
List<HgFileRevision> revisions = logCommand.execute(hgFile, -1, true);
for (int i = 0; i < revisions.size(); ++i) {
HgFile expectedFile = new HgFile(myRepository, new File(subDir.getPath(), names[namesSize - i - 1]));
HgFile targetFileName = HgUtil.getFileNameInTargetRevision(myProject, revisions.get(i).getRevisionNumber(), hgFile);
assertEquals(expectedFile.getRelativePath(), targetFileName.getRelativePath());
}
}
use of org.zmlx.hg4idea.HgFile in project intellij-community by JetBrains.
the class HgHistoryTest method testFileNameInTargetRevisionFromAffectedFiles.
public void testFileNameInTargetRevisionFromAffectedFiles() throws HgCommandException {
cd(myRepository);
int namesSize = names.length;
VirtualFile subDir = myRepository.findFileByRelativePath(subDirName);
assert subDir != null;
VirtualFile vFile = VfsUtil.findFileByIoFile(new File(subDir.getPath(), names[namesSize - 1]), true);
assert vFile != null;
HgFile localFile = new HgFile(myRepository, VfsUtilCore.virtualToIoFile(vFile));
HgLogCommand logCommand = new HgLogCommand(myProject);
logCommand.setFollowCopies(true);
List<HgFileRevision> revisions = logCommand.execute(localFile, -1, true);
for (int i = 0; i < namesSize; ++i) {
HgFile hgFile = new HgFile(myRepository, new File(subDir.getPath(), names[namesSize - i - 1]));
HgFile targetFileName = HgUtil.getFileNameInTargetRevision(myProject, revisions.get(i).getRevisionNumber(), hgFile);
assertEquals(hgFile.getRelativePath(), targetFileName.getRelativePath());
}
}
Aggregations