Skip to content

Commit 42ea059

Browse files
committed
Merge branch 'pr55' into v7.0
2 parents 9ce2cfd + 6a693ac commit 42ea059

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

hamcrest-library/src/main/java/org/hamcrest/text/StringContainsInOrder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public boolean matchesSafely(String s) {
1919

2020
for (String substring : substrings) {
2121
fromIndex = s.indexOf(substring, fromIndex);
22-
if (fromIndex == -1) {
22+
if (fromIndex++ == -1) {
2323
return false;
2424
}
2525
}

hamcrest-library/src/test/java/org/hamcrest/text/StringContainsInOrderTest.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,26 @@
77

88

99
public class StringContainsInOrderTest extends AbstractMatcherTest {
10-
Matcher<String> m = stringContainsInOrder("a", "b", "c");
10+
Matcher<String> m = stringContainsInOrder("a", "b", "c", "c");
1111

1212
@Override
1313
protected Matcher<?> createMatcher() {
1414
return m;
1515
}
1616

1717
public void testMatchesOnlyIfStringContainsGivenSubstringsInTheSameOrder() {
18-
assertMatches("substrings in order", m, "abc");
19-
assertMatches("substrings separated", m, "1a2b3c4");
18+
assertMatches("all substrings adjacent in order", m, "abcc");
19+
assertMatches("all substrings separated in order", m, "1a2b3c4c5");
2020

21-
assertDoesNotMatch("substrings out of order", m, "cab");
22-
assertDoesNotMatch("no substrings in string", m, "xyz");
23-
assertDoesNotMatch("substring missing", m, "ac");
21+
assertDoesNotMatch("cumulative substring length longer than string", m, "abc");
22+
assertDoesNotMatch("substrings out of order", m, "cabc");
23+
assertDoesNotMatch("no substrings in string", m, "wxyz");
24+
assertDoesNotMatch("substring not occurring", m, "axcc");
25+
assertDoesNotMatch("substring missing", m, "acc");
2426
assertDoesNotMatch("empty string", m, "");
2527
}
2628

2729
public void testHasAReadableDescription() {
28-
assertDescription("a string containing \"a\", \"b\", \"c\" in order", m);
30+
assertDescription("a string containing \"a\", \"b\", \"c\", \"c\" in order", m);
2931
}
3032
}

0 commit comments

Comments
 (0)