diff options
Diffstat (limited to 'plugins/hg4idea/testSrc/org/zmlx/hg4idea/push/HgPushParseTest.java')
-rw-r--r-- | plugins/hg4idea/testSrc/org/zmlx/hg4idea/push/HgPushParseTest.java | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/plugins/hg4idea/testSrc/org/zmlx/hg4idea/push/HgPushParseTest.java b/plugins/hg4idea/testSrc/org/zmlx/hg4idea/push/HgPushParseTest.java new file mode 100644 index 000000000000..5b1774caa2fd --- /dev/null +++ b/plugins/hg4idea/testSrc/org/zmlx/hg4idea/push/HgPushParseTest.java @@ -0,0 +1,75 @@ +/* + * Copyright 2000-2014 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.zmlx.hg4idea.push; + +import com.intellij.util.containers.ContainerUtil; +import org.jetbrains.annotations.NotNull; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.zmlx.hg4idea.execution.HgCommandResult; + +import java.io.StringWriter; +import java.util.Collection; + +import static org.junit.Assert.assertEquals; + +@RunWith(Parameterized.class) +public class HgPushParseTest { + + @NotNull private final String myOutput; + private final int myExpected; + + @SuppressWarnings({"JUnitTestCaseWithNonTrivialConstructors", "UnusedParameters"}) + public HgPushParseTest(@NotNull String name, @NotNull String output, int expected) { + myOutput = output; + myExpected = expected; + } + + @Parameterized.Parameters(name = "{0}") + public static Collection<Object[]> createData() { + return ContainerUtil.newArrayList(new Object[][]{ + {"DEFAULT_1", "pushing to /Users/user/TTT/AHG\n" + + "searching for changes\n" + + "adding changesets\n" + + "adding manifests\n" + + "adding file changes\n" + + "added 1 changesets with 1 changes to 1 files", 1}, + {"DEFAULT_2", "pushing to /Users/user/TTT/AHG\n" + + "searching for changes\n" + + "adding changesets\n" + + "adding manifests\n" + + "adding file changes\n" + + "added 2 changesets with 3 changes to 1 files", 2}, + {"EXTENSION_KILN_ONE", "hg push http://<my repo>\n" + + "pushing to http://<my repo>\n" + + "searching for changes\n" + + " \"remote: kiln: successfully pushed one changeset", 1}, + {"EXTENSION_KILN_4", "hg push http://<my repo>\n" + + "pushing to http://<my repo>\n" + + "searching for changes\n" + + "remote: kiln: successfully pushed 4 changesets", 4} + }); + } + + @Test + public void testValid() { + StringWriter outWriter = new StringWriter(); + outWriter.write(myOutput); + assertEquals(" Wrong commits number for " + myOutput, myExpected, + HgPusher.getNumberOfPushedCommits(new HgCommandResult(outWriter, new StringWriter(), 0))); + } +} |