Fix bug in isColumnSeparator()
parsing logic
#61
Merged
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.
The
isColumnSeparator()
logic is intended to check that each row contains the same (non-space) character in the same position.Instead of checking the rows all the way down, however, it was only checking the first and second rows with a call to
slice(0,1)
.Additionally, it was checking every column, when columns should each be padded by a space, making the minimum distance between columns two spaces.
Take the following table as an example:
If you enter that table as input, and then click the Parse button to parse the output, it considers any position where the characters in the same column position match across two rows to be a column separator.
So it interprets the middle column of each group as a separator, producing the following:
That stripped out the columns of:
and
because they have matching characters in the same column position in the first two rows.
Changes
slice(1)
on each iteration.Tests