1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.atlassian.jira.rest.client.test.matchers;
18
19 import org.hamcrest.Description;
20 import org.junit.internal.matchers.TypeSafeMatcher;
21
22 import java.util.regex.Pattern;
23
24 public class RegularExpressionMatcher extends TypeSafeMatcher<String> {
25 private final Pattern pattern;
26
27 public RegularExpressionMatcher(Pattern pattern) {
28 this.pattern = pattern;
29 }
30
31 public static RegularExpressionMatcher matchesRegexp(final Pattern pattern) {
32 return new RegularExpressionMatcher(pattern);
33 }
34
35 public static RegularExpressionMatcher matchesRegexp(final String pattern) {
36 return new RegularExpressionMatcher(Pattern.compile(pattern));
37 }
38
39 @Override
40 public boolean matchesSafely(String given) {
41 return pattern.matcher(given).matches();
42 }
43
44 @Override
45 public void describeTo(Description description) {
46 description.appendText("string matching regular expression " + pattern);
47 }
48 }