blob: ea393fec1e48fb292673251d09b2143396670daa [file] [log] [blame]
package git4idea.log;
import com.intellij.openapi.vfs.newvfs.impl.NullVirtualFile;
import com.intellij.vcs.log.VcsRef;
import org.junit.Test;
import java.util.List;
import static junit.framework.Assert.assertEquals;
/**
* @author erokhins
*/
public class RefParserTest {
public String toStr(VcsRef ref) {
return String.format("%s TAG %s", ref.getCommitHash().asString(), ref.getName());
}
public void runTest(String inputStr, String outStr) {
List<VcsRef> refs = RefParser.parseCommitRefs(inputStr, NullVirtualFile.INSTANCE);
StringBuilder s = new StringBuilder();
for (VcsRef ref : refs) {
if (s.length() > 0) {
s.append("\n");
}
s.append(toStr(ref));
}
assertEquals(outStr, s.toString());
}
@Test
public void tagTest() {
runTest("22762ebf7203f6a2888425a3207d2ddc63085dd7 (tag: refs/tags/v3.6-rc1, refs/heads/br)",
"22762ebf7203f6a2888425a3207d2ddc63085dd7 TAG v3.6-rc1");
}
@Test
public void severalRefsTest() {
runTest("f85125c (refs/tags/v3.6-rc1, HEAD)", "f85125c TAG v3.6-rc1");
}
@Test
public void severalRefsTest2() {
runTest("ed7a0d14da090ea256d68a06c6f8dd7311de192e (refs/tags/category/v3.6-rc1, HEAD, refs/remotes/origin/graph_fix)",
"ed7a0d14da090ea256d68a06c6f8dd7311de192e TAG category/v3.6-rc1");
}
@Test
public void severalRefsTest3() {
runTest("ed7a0d14da090ea256d68a06c6f8dd7311de192e (tag: refs/tags/web/130.1599, tag: refs/tags/ruby/130.1597, " +
"tag: refs/tags/py/130.1598, " +
"tag: refs/tags/php/130.1596, tag: refs/tags/idea/130.1601, tag: refs/tags/app/130.1600)",
"ed7a0d14da090ea256d68a06c6f8dd7311de192e TAG web/130.1599\n" +
"ed7a0d14da090ea256d68a06c6f8dd7311de192e TAG ruby/130.1597\n" +
"ed7a0d14da090ea256d68a06c6f8dd7311de192e TAG py/130.1598\n" +
"ed7a0d14da090ea256d68a06c6f8dd7311de192e TAG php/130.1596\n" +
"ed7a0d14da090ea256d68a06c6f8dd7311de192e TAG idea/130.1601\n" +
"ed7a0d14da090ea256d68a06c6f8dd7311de192e TAG app/130.1600"
);
}
}