# Conflicts: # src/Fixer/StringNotation/HeredocToNowdocFixer.php # tests/Fixer/StringNotation/HeredocToNowdocFixerTest.php
@@ -101,7 +101,7 @@ EOF
{
return new Token([
$token->getId(),
- Preg::replace('/(?<=^<<<)([ \t]*)"?([^\s"]+)"?/', '$1\'$2\'', $token->getContent()),
+ Preg::replace('/^([Bb]?<<<)([ \t]*)"?([^\s"]+)"?/', '$1$2\'$3\'', $token->getContent()),
]);
}
@@ -120,7 +120,7 @@ final class ProcessLinter implements LinterInterface
$process = $this->processBuilder->build($path);
- $process->setTimeout(null);
+ $process->setTimeout(10);
$process->start();
return $process;
@@ -144,6 +144,224 @@ EOF
, <<<EOF
<?php echo <<<TEST\r\nFoo\r\nTEST;
+EOF
+ ],
+ [<<<'EOF'
+<?php $a = b<<<'TEST'
+Foo $bar \n
+TEST;
+
+ , <<<'EOF'
+<?php $a = b<<<TEST
+Foo \\ $bar \n
+Foo \\\\ \$bar \\n
+Foo
+<?php $a = b<<<"TEST"
+Foo $bar
+Foo \\$bar
+Foo \n $bar
+Foo \x00 $bar
+<?php
+$html = b<<< 'HTML'
+a
+HTML;
+$html = b<<< HTML
+<?php $a = b<<< 'TEST'
+<?php $a = b<<< "TEST"
+ [<<<EOF
+<?php echo b<<<'TEST'\r\nFoo\r\nTEST;
+ , <<<EOF
+<?php echo b<<<TEST\r\nFoo\r\nTEST;
+<?php $a = B<<<'TEST'
+<?php $a = B<<<TEST
+<?php $a = B<<<"TEST"
+$html = B<<< 'HTML'
+$html = B<<< HTML
+<?php $a = B<<< 'TEST'
+<?php $a = B<<< "TEST"
+<?php echo B<<<'TEST'\r\nFoo\r\nTEST;
+<?php echo B<<<TEST\r\nFoo\r\nTEST;
EOF
],
];