Skip to content

v11.7.0

Closes #51146

If a PHP end tag `?>` is followed by a newline, that newline is not shown in
the output. To counteract this, CompilesEchos detects whether an echo is
followed by a newline and then doubles that newline. However, if the newline is
part of a verbatim block, it is already replaced by a placeholder and
CompilesEchos won't detect it correctly.

This change moves the whitespace in front of the verbatim block. The whitespace
remains outside of the placeholder and CompilesEchos can correctly detect it.

This assumes that whitespace is not modified by Blade in a manner that it would
be necessary to put whitespace in a verbatim block to change its meaning.

Only the final assertion in the testNewlinesAreInsertedCorrectlyAfterEcho test
actually tests for what we want. The first two are more of an introduction for
the reader, to show that what we test in the last assertion really makes sense.
It first tests a verbatim block, then an echo statement, and then the
combination of the two, what is what we are really interested in.
Assets 2
Loading