You are here

public function KernelTest::testStripComments in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/http-kernel/Tests/KernelTest.php \Symfony\Component\HttpKernel\Tests\KernelTest::testStripComments()

File

vendor/symfony/http-kernel/Tests/KernelTest.php, line 234

Class

KernelTest

Namespace

Symfony\Component\HttpKernel\Tests

Code

public function testStripComments() {
  $source = <<<'EOF'
<?php

$string = 'string should not be   modified';

$string = 'string should not be

modified';


$heredoc = <<<HD


Heredoc should not be   modified


HD;

$nowdoc = <<<'ND'


Nowdoc should not be   modified


ND;

/**
 * some class comments to strip
 */
class TestClass
{
    /**
     * some method comments to strip
     */
    public function doStuff()
    {
        // inline comment
    }
}
EOF;
  $expected = <<<'EOF'
<?php
$string = 'string should not be   modified';
$string = 'string should not be

modified';
$heredoc = <<<HD


Heredoc should not be   modified


HD;
$nowdoc = <<<'ND'


Nowdoc should not be   modified


ND;
class TestClass
{
    public function doStuff()
    {
        }
}
EOF;
  $output = Kernel::stripComments($source);

  // Heredocs are preserved, making the output mixing Unix and Windows line
  // endings, switching to "\n" everywhere on Windows to avoid failure.
  if ('\\' === DIRECTORY_SEPARATOR) {
    $expected = str_replace("\r\n", "\n", $expected);
    $output = str_replace("\r\n", "\n", $output);
  }
  $this
    ->assertEquals($expected, $output);
}