# HG changeset patch # User Dmitry Neverov # Date 1336737700 -14400 # Node ID 144734686138bc8c372eef56adefec95c7ecc1e4 # Parent c91c4f1ebd53c943aaee8b799810829d01f5e598 Fix tests diff -r c91c4f1ebd53 -r 144734686138 mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ListFilesSupport.java --- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ListFilesSupport.java Fri May 11 15:55:57 2012 +0400 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ListFilesSupport.java Fri May 11 16:01:40 2012 +0400 @@ -6,10 +6,14 @@ import jetbrains.buildServer.vcs.VcsFileData; import org.jetbrains.annotations.NotNull; +import java.io.File; import java.util.ArrayList; import java.util.List; +import java.util.regex.Pattern; import static com.intellij.openapi.util.text.StringUtil.isEmpty; +import static java.util.regex.Pattern.compile; +import static java.util.regex.Pattern.quote; /** * @author dmitry.neverov @@ -39,8 +43,9 @@ @NotNull private List listFilesIn(@NotNull String dir) throws VcsException { List result = new ArrayList(); + Pattern p = compile(quote(File.separator)); for (String file : myRepo.listFiles()) { - String canonicalFile = makeCanonical(file); + String canonicalFile = p.matcher(file).replaceAll("/"); if (!canonicalFile.startsWith(dir)) continue; String relativePath = canonicalFile.substring(dir.length()); @@ -53,11 +58,4 @@ } return result; } - - - @NotNull - private String makeCanonical(@NotNull String file) { - return file; - } - } diff -r c91c4f1ebd53 -r 144734686138 mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ListFilesSupportTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ListFilesSupportTest.java Fri May 11 16:01:40 2012 +0400 @@ -0,0 +1,90 @@ +package jetbrains.buildServer.buildTriggers.vcs.mercurial; + +import com.intellij.openapi.diagnostic.Logger; +import jetbrains.buildServer.TempFiles; +import jetbrains.buildServer.log.Log4jFactory; +import jetbrains.buildServer.vcs.ListDirectChildrenPolicy; +import jetbrains.buildServer.vcs.VcsFileData; +import jetbrains.buildServer.vcs.VcsRoot; +import org.jetbrains.annotations.NotNull; +import org.jmock.Mockery; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import java.io.File; +import java.util.List; + +import static jetbrains.buildServer.buildTriggers.vcs.mercurial.LocalRepositoryUtil.copyRepository; +import static jetbrains.buildServer.buildTriggers.vcs.mercurial.VcsRootBuilder.vcsRoot; +import static org.testng.AssertJUnit.assertNotNull; +import static org.testng.AssertJUnit.assertTrue; + +/** + * @author dmitry.neverov + */ +@Test +public class ListFilesSupportTest { + + static { + Logger.setFactory(new Log4jFactory()); + } + + private MercurialVcsSupport myVcs; + private VcsRoot myRoot; + + @BeforeMethod + protected void setUp() throws Exception { + TempFiles tempFiles = new TempFiles(); + Mockery context = new Mockery(); + ServerPluginConfig myPluginConfig = new ServerPluginConfigBuilder() + .cachesDir(tempFiles.createTempDir()) + .build(); + myVcs = Util.createMercurialServerSupport(context, myPluginConfig); + + File repo = tempFiles.createTempDir(); + copyRepository(new File("mercurial-tests/testData/rep1"), repo); + myRoot = vcsRoot().withUrl(repo.getAbsolutePath()).build(); + } + + + public void should_support_list_files() throws Exception { + assertNotNull(myVcs.getListFilesPolicy(myRoot)); + } + + + public void list_root_dir() throws Exception { + ListDirectChildrenPolicy policy = getListFilesPolicy(); + List files = policy.listFiles(""); + assertTrue(files.contains(dir("dir1"))); + assertTrue(files.contains(dir("dir with space"))); + assertTrue(files.contains(file("file.txt"))); + } + + + public void list_subdir() throws Exception { + ListDirectChildrenPolicy policy = getListFilesPolicy(); + List files = policy.listFiles("dir1"); + assertTrue(files.contains(file("file1.txt"))); + assertTrue(files.contains(file("file3.txt"))); + assertTrue(files.contains(dir("subdir"))); + + files = policy.listFiles("dir1/subdir/"); + assertTrue(files.contains(file("file2.txt"))); + } + + @NotNull + private ListDirectChildrenPolicy getListFilesPolicy() { + ListDirectChildrenPolicy listFilesPolicy = (ListDirectChildrenPolicy) myVcs.getListFilesPolicy(myRoot); + assert listFilesPolicy != null; + return listFilesPolicy; + } + + private VcsFileData dir(@NotNull String path) { + return new VcsFileData(path, true); + } + + private VcsFileData file(@NotNull String path) { + return new VcsFileData(path, false); + } + +} diff -r c91c4f1ebd53 -r 144734686138 mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ListFilesTest.java --- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ListFilesTest.java Fri May 11 15:55:57 2012 +0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,90 +0,0 @@ -package jetbrains.buildServer.buildTriggers.vcs.mercurial; - -import com.intellij.openapi.diagnostic.Logger; -import jetbrains.buildServer.TempFiles; -import jetbrains.buildServer.log.Log4jFactory; -import jetbrains.buildServer.vcs.ListDirectChildrenPolicy; -import jetbrains.buildServer.vcs.VcsFileData; -import jetbrains.buildServer.vcs.VcsRoot; -import org.jetbrains.annotations.NotNull; -import org.jmock.Mockery; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; - -import java.io.File; -import java.util.List; - -import static jetbrains.buildServer.buildTriggers.vcs.mercurial.LocalRepositoryUtil.copyRepository; -import static jetbrains.buildServer.buildTriggers.vcs.mercurial.VcsRootBuilder.vcsRoot; -import static org.testng.AssertJUnit.assertNotNull; -import static org.testng.AssertJUnit.assertTrue; - -/** - * @author dmitry.neverov - */ -@Test -public class ListFilesTest { - - static { - Logger.setFactory(new Log4jFactory()); - } - - private MercurialVcsSupport myVcs; - private VcsRoot myRoot; - - @BeforeMethod - protected void setUp() throws Exception { - TempFiles tempFiles = new TempFiles(); - Mockery context = new Mockery(); - ServerPluginConfig myPluginConfig = new ServerPluginConfigBuilder() - .cachesDir(tempFiles.createTempDir()) - .build(); - myVcs = Util.createMercurialServerSupport(context, myPluginConfig); - - File repo = tempFiles.createTempDir(); - copyRepository(new File("mercurial-tests/testData/rep1"), repo); - myRoot = vcsRoot().withUrl(repo.getAbsolutePath()).build(); - } - - - public void should_support_list_files() throws Exception { - assertNotNull(myVcs.getListFilesPolicy(myRoot)); - } - - - public void list_root_dir() throws Exception { - ListDirectChildrenPolicy policy = getListFilesPolicy(); - List files = policy.listFiles(""); - assertTrue(files.contains(dir("dir1"))); - assertTrue(files.contains(dir("dir with space"))); - assertTrue(files.contains(file("file.txt"))); - } - - - public void list_subdir() throws Exception { - ListDirectChildrenPolicy policy = getListFilesPolicy(); - List files = policy.listFiles("dir1"); - assertTrue(files.contains(file("file1.txt"))); - assertTrue(files.contains(file("file3.txt"))); - assertTrue(files.contains(dir("subdir"))); - - files = policy.listFiles("dir1/subdir/"); - assertTrue(files.contains(file("file2.txt"))); - } - - @NotNull - private ListDirectChildrenPolicy getListFilesPolicy() { - ListDirectChildrenPolicy listFilesPolicy = (ListDirectChildrenPolicy) myVcs.getListFilesPolicy(myRoot); - assert listFilesPolicy != null; - return listFilesPolicy; - } - - private VcsFileData dir(@NotNull String path) { - return new VcsFileData(path, true); - } - - private VcsFileData file(@NotNull String path) { - return new VcsFileData(path, false); - } - -} diff -r c91c4f1ebd53 -r 144734686138 mercurial-tests/src/testng.xml --- a/mercurial-tests/src/testng.xml Fri May 11 15:55:57 2012 +0400 +++ b/mercurial-tests/src/testng.xml Fri May 11 16:01:40 2012 +0400 @@ -23,7 +23,7 @@ - +