more matcher tests
authorEugene Petrenko <eugene.petrenko@gmail.com>
Thu, 21 Jul 2011 21:18:20 +0000 (01:18 +0400)
committerEugene Petrenko <eugene.petrenko@gmail.com>
Thu, 21 Jul 2011 21:18:20 +0000 (01:18 +0400)
nuget-tests/src/jetbrains/buildServer/nuget/tests/Strings.java [new file with mode: 0644]
nuget-tests/src/jetbrains/buildServer/nuget/tests/agent/MatchFilesBuildProcessTest.java

diff --git a/nuget-tests/src/jetbrains/buildServer/nuget/tests/Strings.java b/nuget-tests/src/jetbrains/buildServer/nuget/tests/Strings.java
new file mode 100644 (file)
index 0000000..dfcb4da
--- /dev/null
@@ -0,0 +1,41 @@
+/*\r
+ * Copyright 2000-2011 JetBrains s.r.o.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+package jetbrains.buildServer.nuget.tests;\r
+\r
+/**\r
+ * Created by Eugene Petrenko (eugene.petrenko@gmail.com)\r
+ * Date: 22.07.11 1:17\r
+ */\r
+public class Strings {\r
+  private static String createExoticString() {\r
+    try {\r
+      StringBuilder sb = new StringBuilder();\r
+      for (char i = Character.MIN_VALUE; i < Character.MAX_VALUE; i++) {\r
+        try {\r
+          sb.append(Character.valueOf(i));\r
+        } catch (Throwable t) {\r
+          // NOP\r
+        }\r
+      }\r
+      return sb.toString();\r
+    } catch (Throwable t) {\r
+      return "failed to create exitic string. !@#$%^&*()}{POITREWQASDFGHJKL:\"|?><MNBVCXZ`1234567890-\\/\';][/*-\t\n\r\0\1";\r
+    }\r
+  }\r
+\r
+  public static final String EXOTIC = createExoticString();\r
+}\r
index c0577441510f056c65ee31793c74c7e10a6c5c5b..2c5a85d7ccbc55730ef89b85e2f11ea9be35e661 100644 (file)
@@ -22,6 +22,7 @@ import jetbrains.buildServer.agent.BuildFinishedStatus;
 import jetbrains.buildServer.agent.BuildRunnerContext;\r
 import jetbrains.buildServer.nuget.agent.parameters.NuGetPublishParameters;\r
 import jetbrains.buildServer.nuget.agent.publish.MatchFilesBuildProcess;\r
+import jetbrains.buildServer.nuget.tests.Strings;\r
 import jetbrains.buildServer.nuget.tests.util.BuildProcessTestCase;\r
 import jetbrains.buildServer.util.FileUtil;\r
 import org.jmock.Expectations;\r
@@ -63,10 +64,13 @@ public class MatchFilesBuildProcessTest extends BuildProcessTestCase {
     match = new MatchFilesBuildProcess(ctx, params, cb);\r
     root = createTempDir();\r
 \r
-    m.checking(new Expectations(){{\r
-      allowing(params).getFiles(); will(returnValue(files));\r
-      allowing(ctx).getBuild(); will(returnValue(build));\r
-      allowing(build).getCheckoutDirectory(); will(returnValue(root));\r
+    m.checking(new Expectations() {{\r
+      allowing(params).getFiles();\r
+      will(returnValue(files));\r
+      allowing(ctx).getBuild();\r
+      will(returnValue(build));\r
+      allowing(build).getCheckoutDirectory();\r
+      will(returnValue(root));\r
     }});\r
   }\r
 \r
@@ -75,7 +79,7 @@ public class MatchFilesBuildProcessTest extends BuildProcessTestCase {
     final File dest = new File(root, "aaa.txt");\r
     FileUtil.writeFile(dest, "some content");\r
 \r
-    m.checking(new Expectations(){{\r
+    m.checking(new Expectations() {{\r
       oneOf(cb).fileFound(dest);\r
     }});\r
 \r
@@ -85,13 +89,29 @@ public class MatchFilesBuildProcessTest extends BuildProcessTestCase {
     m.assertIsSatisfied();\r
   }\r
 \r
+  @Test\r
+  public void test_match_relative_file_worng_symbols() throws RunBuildException {\r
+    final File dest = new File(root, "aaa.txt");\r
+    FileUtil.writeFile(dest, "some content");\r
+\r
+    m.checking(new Expectations() {{\r
+      oneOf(cb).fileFound(dest);\r
+    }});\r
+\r
+    files.add("aaa.txt");\r
+    files.add(Strings.EXOTIC);\r
+    assertRunSuccessfully(match, BuildFinishedStatus.FINISHED_SUCCESS);\r
+\r
+    m.assertIsSatisfied();\r
+  }\r
+\r
   @Test\r
   public void test_match_relative_file_wildcard() throws RunBuildException {\r
     final File dest = new File(root, "q/e/r/t/aaa.txt");\r
     FileUtil.createParentDirs(dest);\r
     FileUtil.writeFile(dest, "some content");\r
 \r
-    m.checking(new Expectations(){{\r
+    m.checking(new Expectations() {{\r
       oneOf(cb).fileFound(dest);\r
     }});\r
 \r
@@ -101,13 +121,60 @@ public class MatchFilesBuildProcessTest extends BuildProcessTestCase {
     m.assertIsSatisfied();\r
   }\r
 \r
+  @Test\r
+  public void test_match_relative_file_wildcard3() throws RunBuildException {\r
+    final File dest = new File(root, "q/e/r/t/aaa.txt");\r
+    FileUtil.createParentDirs(dest);\r
+    FileUtil.writeFile(dest, "some content");\r
+\r
+    final File dest2 = new File(root, "q/v/i/k/abbb.txt");\r
+    FileUtil.createParentDirs(dest2);\r
+    FileUtil.writeFile(dest2, "some content");\r
+\r
+    m.checking(new Expectations() {{\r
+      oneOf(cb).fileFound(dest);\r
+      oneOf(cb).fileFound(dest2);\r
+    }});\r
+\r
+    files.add("**/*a.txt");\r
+    files.add("**/*b.txt");\r
+    assertRunSuccessfully(match, BuildFinishedStatus.FINISHED_SUCCESS);\r
+\r
+    m.assertIsSatisfied();\r
+  }\r
+\r
+  @Test\r
+  public void test_match_relative_file_wildcard2() throws RunBuildException {\r
+    final File dest = new File(root, "q/e/r/t/aaa.txt");\r
+    FileUtil.createParentDirs(dest);\r
+    FileUtil.writeFile(dest, "some content");\r
+\r
+    final File dest2 = new File(root, "q/e/p/t/aaa.txt");\r
+    FileUtil.createParentDirs(dest2);\r
+    FileUtil.writeFile(dest2, "some content");\r
+\r
+    final File dest3 = new File(root, "q/e/p/z/bbb.txt");\r
+    FileUtil.createParentDirs(dest3);\r
+    FileUtil.writeFile(dest3, "some content");\r
+\r
+    m.checking(new Expectations() {{\r
+      oneOf(cb).fileFound(dest);\r
+      oneOf(cb).fileFound(dest2);\r
+    }});\r
+\r
+    files.add("**/a*.txt");\r
+    assertRunSuccessfully(match, BuildFinishedStatus.FINISHED_SUCCESS);\r
+\r
+    m.assertIsSatisfied();\r
+  }\r
+\r
 \r
   @Test\r
   public void test_match_fullPath_file() throws RunBuildException {\r
     final File dest = new File(root, "aaa.txt");\r
     FileUtil.writeFile(dest, "some content");\r
 \r
-    m.checking(new Expectations(){{\r
+    m.checking(new Expectations() {{\r
       oneOf(cb).fileFound(dest);\r
     }});\r
 \r
@@ -123,7 +190,7 @@ public class MatchFilesBuildProcessTest extends BuildProcessTestCase {
     FileUtil.createParentDirs(dest);\r
     FileUtil.writeFile(dest, "some content");\r
 \r
-    m.checking(new Expectations(){{\r
+    m.checking(new Expectations() {{\r
       oneOf(cb).fileFound(dest);\r
     }});\r
 \r