diff --git a/gherkin/java/src/test/java/io/cucumber/gherkin/GherkinLineTest.java b/gherkin/java/src/test/java/io/cucumber/gherkin/GherkinLineTest.java index 4716e620756..ced5689b0f2 100644 --- a/gherkin/java/src/test/java/io/cucumber/gherkin/GherkinLineTest.java +++ b/gherkin/java/src/test/java/io/cucumber/gherkin/GherkinLineTest.java @@ -69,4 +69,32 @@ public void throws_on_illegal_escapes_backslash() { List texts = gherkinLine.getTableCells().stream().map(span -> span.text).collect(Collectors.toList()); assertEquals(asList("\\o\no|"), texts); } + + @Test + public void correctly_trims_white_spaces_before_cell_content() { + GherkinLine gherkinLine = new GherkinLine("| \t spaces before|"); + List texts = gherkinLine.getTableCells().stream().map(span -> span.text).collect(Collectors.toList()); + assertEquals(asList("spaces before"), texts); + } + + @Test + public void correctly_trims_white_spaces_after_cell_content() { + GherkinLine gherkinLine = new GherkinLine("|spaces after |"); + List texts = gherkinLine.getTableCells().stream().map(span -> span.text).collect(Collectors.toList()); + assertEquals(asList("spaces after"), texts); + } + + @Test + public void correctly_trims_white_spaces_around_cell_content() { + GherkinLine gherkinLine = new GherkinLine("| \t spaces everywhere \t|"); + List texts = gherkinLine.getTableCells().stream().map(span -> span.text).collect(Collectors.toList()); + assertEquals(asList("spaces everywhere"), texts); + } + + @Test + public void does_not_drop_white_spaces_inside_a_cell() { + GherkinLine gherkinLine = new GherkinLine("| foo()\n bar\nbaz |"); + List texts = gherkinLine.getTableCells().stream().map(span -> span.text).collect(Collectors.toList()); + assertEquals(asList("foo()\n bar\nbaz"), texts); + } }