Skip to content

Commit d0c2a10

Browse files
lizhoshekhargulati
authored andcommitted
Update Strman.java (shekhargulati#97)
* Update Strman.java fix bug in between() * Update StrmanTests.java * Update StrmanTests.java
1 parent 9fb07aa commit d0c2a10

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

src/main/java/strman/Strman.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,9 @@ public static String[] between(final String value, final String start, final Str
115115
validate(end, NULL_STRING_PREDICATE, () -> "'end' should be not null.");
116116

117117
String[] parts = value.split(end);
118-
return Arrays.stream(parts).map(subPart -> subPart.substring(subPart.indexOf(start) + start.length()))
118+
return Arrays.stream(parts)
119+
.filter(subPart -> subPart.contains(start))
120+
.map(subPart -> subPart.substring(subPart.indexOf(start) + start.length()))
119121
.toArray(String[]::new);
120122
}
121123

src/test/java/strman/StrmanTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ public void between_shouldReturnArrayWithStringsBetweenStartAndEnd() throws Exce
9292
}
9393

9494
@Test
95-
public void between_shouldReturnFullStringWhenStartAndEndDoesNotExist() throws Exception {
96-
assertThat(between("[abc][def]", "{", "}"), arrayContaining("[abc][def]"));
97-
assertThat(between("", "{", "}"), arrayContaining(""));
95+
public void between_shouldReturnEmptyArrayWhenStartAndEndDoesNotExist() throws Exception {
96+
assertThat(between("[abc][def]", "{", "}").length, equalTo(0));
97+
assertThat(between("", "{", "}").length, equalTo(0));
9898
}
9999

100100
@Test

0 commit comments

Comments
 (0)