FIX: slice considers intro/outro, no throw after removal #62
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes a few issues with slice introduced recently. Tests are added which fail before this patch.
intro
andoutro
: the recent change frominsert
toinsertLeft
/insertRight
changed implementations to useintro
/outro
on a chunk, but slice wasn't updated to this new impl. Now, anyintro
/outro
contained within the slice bounds is included in the result.removed
or otherwiseedited
chunk: Because all chunks were being considered, regardless of if they overlapped the sliced range, a false-positive error was thrown indicating slicing a removed range. Now chunks which end before the sliced range are quickly skipped, removing the issue. As a bonus this adds a clarification of which bound was problematic.start
is not provided, the empty string is returned, instead of the expected default0
being used asstart
.