Browse Source

Merge branch '2.2' into 2.11

# Conflicts:
#	src/Fixer/StringNotation/HeredocToNowdocFixer.php
#	tests/Fixer/StringNotation/HeredocToNowdocFixerTest.php
Dariusz Ruminski 6 years ago
parent
commit
53677f035c

+ 1 - 1
src/Fixer/StringNotation/HeredocToNowdocFixer.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()),
         ]);
     }
 }

+ 1 - 1
src/Linter/ProcessLinter.php

@@ -120,7 +120,7 @@ final class ProcessLinter implements LinterInterface
         }
 
         $process = $this->processBuilder->build($path);
-        $process->setTimeout(null);
+        $process->setTimeout(10);
         $process->start();
 
         return $process;

+ 218 - 0
tests/Fixer/StringNotation/HeredocToNowdocFixerTest.php

@@ -144,6 +144,224 @@ EOF
                 , <<<EOF
 <?php echo <<<TEST\r\nFoo\r\nTEST;
 
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = b<<<'TEST'
+Foo $bar \n
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = b<<<'TEST'
+TEST;
+
+EOF
+                , <<<'EOF'
+<?php $a = b<<<TEST
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = b<<<'TEST'
+Foo \\ $bar \n
+TEST;
+
+EOF
+                , <<<'EOF'
+<?php $a = b<<<TEST
+Foo \\\\ \$bar \\n
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = b<<<'TEST'
+Foo
+TEST;
+
+EOF
+                , <<<'EOF'
+<?php $a = b<<<"TEST"
+Foo
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = b<<<TEST
+Foo $bar
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = b<<<TEST
+Foo \\$bar
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = b<<<TEST
+Foo \n $bar
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = b<<<TEST
+Foo \x00 $bar
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php
+$html = b<<<   'HTML'
+a
+HTML;
+
+EOF
+                , <<<'EOF'
+<?php
+$html = b<<<   HTML
+a
+HTML;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = b<<<           'TEST'
+Foo
+TEST;
+
+EOF
+                , <<<'EOF'
+<?php $a = b<<<           "TEST"
+Foo
+TEST;
+
+EOF
+            ],
+            [<<<EOF
+<?php echo b<<<'TEST'\r\nFoo\r\nTEST;
+
+EOF
+                , <<<EOF
+<?php echo b<<<TEST\r\nFoo\r\nTEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = B<<<'TEST'
+Foo $bar \n
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = B<<<'TEST'
+TEST;
+
+EOF
+                , <<<'EOF'
+<?php $a = B<<<TEST
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = B<<<'TEST'
+Foo \\ $bar \n
+TEST;
+
+EOF
+                , <<<'EOF'
+<?php $a = B<<<TEST
+Foo \\\\ \$bar \\n
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = B<<<'TEST'
+Foo
+TEST;
+
+EOF
+                , <<<'EOF'
+<?php $a = B<<<"TEST"
+Foo
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = B<<<TEST
+Foo $bar
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = B<<<TEST
+Foo \\$bar
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = B<<<TEST
+Foo \n $bar
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = B<<<TEST
+Foo \x00 $bar
+TEST;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php
+$html = B<<<   'HTML'
+a
+HTML;
+
+EOF
+                , <<<'EOF'
+<?php
+$html = B<<<   HTML
+a
+HTML;
+
+EOF
+            ],
+            [<<<'EOF'
+<?php $a = B<<<           'TEST'
+Foo
+TEST;
+
+EOF
+                , <<<'EOF'
+<?php $a = B<<<           "TEST"
+Foo
+TEST;
+
+EOF
+            ],
+            [<<<EOF
+<?php echo B<<<'TEST'\r\nFoo\r\nTEST;
+
+EOF
+                , <<<EOF
+<?php echo B<<<TEST\r\nFoo\r\nTEST;
+
 EOF
             ],
         ];