text-io icon indicating copy to clipboard operation
text-io copied to clipboard

MockTextTerminal strips out new lines

Open cdprete opened this issue 4 years ago • 0 comments

On calling org.beryx.textio.mock.MockTextTerminal#getOutput the returned string has all the new lines and leading/trailing spaces removed because org.beryx.textio.mock.MockTextTerminal#stripAll is called on the stored string before returning it.

Given that the output is joined using the new line as separator, I assume this has been done in order to have a uniform and linear output. Unfortunately, this doesn't allow to test certain scenarios, like "Does the output ends with a new line?".

In my opinion, stripping should be an option that the consumer of the class can decide to use or not. A simple overload of getOutput() with a boolean flag would be enough :)

cdprete avatar Nov 19 '21 08:11 cdprete