diff options
author | Brett Chabot <brettchabot@google.com> | 2014-03-24 16:26:17 -0700 |
---|---|---|
committer | Brett Chabot <brettchabot@google.com> | 2014-03-24 16:29:39 -0700 |
commit | 2399765bd04b20d25d2ef52b821c13789cd3c981 (patch) | |
tree | 47dc9ffcb9316e0bc4ddd3bea03321de49bec8e2 | |
parent | 9adec9e04724d73d20b406d690c43b42aaf8a7ff (diff) | |
download | testing-2399765bd04b20d25d2ef52b821c13789cd3c981.tar.gz |
Fix running methods with dollar signs.
Bug: 13510976
Change-Id: I0001d5c2d085f3a3f07cbe41a89ed84234ad000d
-rw-r--r-- | support/src/android/support/test/internal/runner/TestRequestBuilder.java | 2 | ||||
-rw-r--r-- | support/tests/src/android/support/test/internal/runner/TestRequestBuilderTest.java | 25 |
2 files changed, 26 insertions, 1 deletions
diff --git a/support/src/android/support/test/internal/runner/TestRequestBuilder.java b/support/src/android/support/test/internal/runner/TestRequestBuilder.java index a4d9c01..82f007e 100644 --- a/support/src/android/support/test/internal/runner/TestRequestBuilder.java +++ b/support/src/android/support/test/internal/runner/TestRequestBuilder.java @@ -406,7 +406,7 @@ public class TestRequestBuilder { */ private static Filter matchParameterizedMethod(final Description target) { return new Filter() { - Pattern pat = Pattern.compile(target.getMethodName() + "(\\[[0-9]+\\])?"); + Pattern pat = Pattern.compile(Pattern.quote(target.getMethodName()) + "(\\[[0-9]+\\])?"); @Override public boolean shouldRun(Description desc) { diff --git a/support/tests/src/android/support/test/internal/runner/TestRequestBuilderTest.java b/support/tests/src/android/support/test/internal/runner/TestRequestBuilderTest.java index 6c80146..f28c894 100644 --- a/support/tests/src/android/support/test/internal/runner/TestRequestBuilderTest.java +++ b/support/tests/src/android/support/test/internal/runner/TestRequestBuilderTest.java @@ -246,6 +246,17 @@ public class TestRequestBuilderTest { public void runMe2() {} } + public static class DollarMethod { + + @Test + public void testWith$() { + } + + @Test + public void testSkipped() { + } + } + @InjectInstrumentation public Instrumentation mInstr; @@ -631,4 +642,18 @@ public class TestRequestBuilderTest { Result result = testRunner.run(request.getRequest()); Assert.assertEquals(2, result.getRunCount()); } + + /** + * Test method filters with dollar signs are allowed + */ + @Test + public void testMethodFilterWithDollar() { + TestRequestBuilder b = new TestRequestBuilder(mMockDeviceBuild, + new PrintStream(new ByteArrayOutputStream())); + b.addTestMethod(DollarMethod.class.getName(), "testWith$"); + TestRequest request = b.build(mInstr, mBundle); + JUnitCore testRunner = new JUnitCore(); + Result result = testRunner.run(request.getRequest()); + Assert.assertEquals(1, result.getRunCount()); + } } |