Passed
Push — master ( fb5a5d...3e18cb )
by Andrii
11:39
created

HelperTest::testExportClosure()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 5
c 1
b 0
f 0
dl 0
loc 10
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
namespace hiqdev\composer\config\tests\unit;
4
5
use hiqdev\composer\config\Helper;
6
use PHPUnit\Framework\TestCase;
7
8
class HelperTest extends TestCase
9
{
10
    public function testExportClosure(): void
11
    {
12
        $params = ['test' => 42];
13
        $closure = static function () use ($params) {
14
            return $params['test'];
15
        };
16
17
        $exportedClosure = Helper::exportVar($closure);
18
19
        $this->assertSameWithoutLE("static function () use (\$params) {\n            return \$params['test'];\n        }", $exportedClosure);
20
    }
21
22
    private function assertSameWithoutLE($expected, $actual, string $message = ''): void
23
    {
24
        $expected = preg_replace('/\R/', "\n", $expected);
25
        $actual = preg_replace('/\R/', "\n", $actual);
26
        $this->assertSame($expected, $actual, $message);
27
    }
28
}
29