Skip to content

Commit

Permalink
Fix RobotsTxt tests
Browse files Browse the repository at this point in the history
  • Loading branch information
emmanuel-keller committed Jun 18, 2017
1 parent d506e78 commit a0175f8
Showing 1 changed file with 15 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,11 @@ static RobotsTxtPathMatcher of(String pattern) {
return null;
final boolean isWildcard = pattern.indexOf('*') != -1;
final boolean isEnding = pattern.endsWith("$");
if (isEnding) {
pattern = pattern.substring(0, pattern.length() - 1);
return isWildcard ? new WildcarsdMatcher(pattern) : new ExactMatcher(pattern);
} else {
return isWildcard ? new WildcarsdMatcher(pattern + '*') : new StartsWithMatcher(pattern);
}
if (isEnding)
return isWildcard ? new WildcarsdMatcher(pattern, true) : new ExactMatcher(pattern, true);
else
return isWildcard ? new WildcarsdMatcher(pattern, false) : new StartsWithMatcher(pattern);

}

abstract class PathMatcher implements RobotsTxtPathMatcher {
Expand All @@ -56,9 +55,12 @@ final class WildcarsdMatcher extends PathMatcher {

private final WildcardMatcher matcher;

WildcarsdMatcher(String pattern) {
WildcarsdMatcher(String pattern, boolean isEnding) {
super(pattern);
matcher = new WildcardMatcher(pattern);
final String wPattern = isEnding ? pattern.substring(0, pattern.length() - 1) : pattern.endsWith("*") ?
pattern :
pattern + '*';
matcher = new WildcardMatcher(wPattern);
}

@Override
Expand All @@ -69,13 +71,16 @@ final public boolean match(String path) {

final class ExactMatcher extends PathMatcher {

ExactMatcher(String pattern) {
private String exactPattern;

ExactMatcher(String pattern, boolean isEnding) {
super(pattern);
exactPattern = isEnding ? pattern.substring(0, pattern.length() - 1) : pattern;
}

@Override
final public boolean match(final String path) {
return path != null && pattern.equals(path);
return path != null && exactPattern.equals(path);
}
}

Expand Down

0 comments on commit a0175f8

Please sign in to comment.