mirror of
https://github.com/php/php-src.git
synced 2024-11-27 11:53:33 +08:00
06ade15528
Fixes the function `next_newline()` in zend_language_scanner.l. The function now correctly returns a newline_len of 2 for "\r\n". Closes GH-5944.
30 lines
968 B
PHP
30 lines
968 B
PHP
--TEST--
|
|
Bug #79934: CRLF-only line in heredoc causes parsing error
|
|
--DESCRIPTION--
|
|
This test covers different variations of whitespace-only lines in heredoc strings.
|
|
These whitespace-only lines should be ignored when stripping indentation.
|
|
--FILE--
|
|
<?php
|
|
// lines with only CRLF should not cause a parse error
|
|
eval("\$s1 = <<<HEREDOC\r\n a\r\n\r\n b\r\n HEREDOC;");
|
|
var_dump(addcslashes($s1, "\r\n"));
|
|
|
|
// lines with only a LF should not cause a parse error
|
|
eval("\$s2 = <<<HEREDOC\n a\n\n b\n HEREDOC;");
|
|
var_dump(addcslashes($s2, "\n"));
|
|
|
|
// lines with only a CR should not cause a parse error
|
|
eval("\$s3 = <<<HEREDOC\r a\r\r b\r HEREDOC;");
|
|
var_dump(addcslashes($s3, "\r"));
|
|
|
|
// lines with only whitespace should not cause a parse error
|
|
eval("\$s4 = <<<HEREDOC\r a\r\n \r\n b\r HEREDOC;");
|
|
var_dump(addcslashes($s4, "\n\r"));
|
|
|
|
?>
|
|
--EXPECT--
|
|
string(10) "a\r\n\r\nb"
|
|
string(6) "a\n\nb"
|
|
string(6) "a\r\rb"
|
|
string(10) "a\r\n\r\nb"
|