SONAR-2303 "Architectural constraint" rule should work for patterns with spaces

This commit is contained in:
Evgeny Mandrikov 2011-04-04 19:02:12 +04:00
parent 9380e275b3
commit 6f4124e680
2 changed files with 18 additions and 1 deletions

View File

@ -29,7 +29,12 @@ public final class PatternUtils {
}
public static WildcardPattern[] createPatterns(String patterns) {
return WildcardPattern.create(StringUtils.split(StringUtils.replace(patterns, ".", "/"), ','));
String[] p = StringUtils.split(patterns, ',');
WildcardPattern[] result = new WildcardPattern[p.length];
for (int i = 0; i < result.length; i++) {
result[i] = WildcardPattern.create(StringUtils.trim(StringUtils.replace(p[i], ".", "/")));
}
return result;
}
}

View File

@ -36,4 +36,16 @@ public class PatternUtilsTest {
assertThat(patterns[0].match("org/sonar/Foo"), is(true));
assertThat(patterns[1].match("javax/Bar"), is(true));
}
/**
* See http://jira.codehaus.org/browse/SONAR-2303
*/
@Test
public void shouldTrim() {
WildcardPattern[] patterns = PatternUtils.createPatterns("org.foo.*,\n org.bar.*");
assertThat(patterns[0].match("org/foo/Foo"), is(true));
assertThat(patterns[1].match("org/bar/Bar"), is(true));
}
}