Handle newlines in titles of test groups
Currently, when using a newline in a title of describe or it block, for many (all?) languages test output becomes garbled: <DESCRIBE::> and <IT::> grab only the part of the title before \n, and the rest of the title ends up presented as <LOG::>.
This is not common (nor arguably a good practice) to have newlines in titles, but can happen sometimes:
- Newlines can appear in titles of
<IT::>coming from generated tests, if a testing framework, or an author, decides to present test input this way, and the input contains newlines. - Newlines can be added by authors to add some structure to titles to present information which normally would be presented in some other way (for example, with a custom assertion message), but testing framework does not allow custom messages. For example, LUA:

It seems that test output panel handles <:LF:> in titles quite well, but it would be nice if it converted newlines to <:LF:> automatically (just like currently it's done with assertion messages).
Caveat: it seems to be a common pattern across the couple of Codewars reporters I had a chance to work on to not recognize Windows newlines. I am not sure if it's relevant, but running such reporters locally on my machine sometimes caused problems in the report due to unexpected \r.
If this request would be recognized as useful it would probably mean updating 50+ test reporters, so I can see how it can be difficult.
I don't think it's worth updating everything in production, but we should keep this in mind when making changes or adding a new language version. I think some of the reporters already does this.
Caveat: it seems to be a common pattern across the couple of Codewars reporters I had a chance to work on to not recognize Windows newlines. I am not sure if it's relevant, but running such reporters locally on my machine sometimes caused problems in the report due to unexpected
\r.
I think it's just displayed awkwardly (overwriting the previous line) because of \r. The runner receives \r<:LF:> and the output should be still parsed correctly.
That said, we run everything in Linux containers and I don't have Windows, so we assumed \n. We can start using platform dependent line separator, like you did when updating JUnit reporter. It's kind of awkward to replace CRLF with <:LF:> and CR is lost, but it only affects Windows users when developing locally.