-
-
Notifications
You must be signed in to change notification settings - Fork 9.4k
/
CustomExpressionLanguageFunctionTest.php
36 lines (30 loc) · 1.19 KB
/
CustomExpressionLanguageFunctionTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
namespace Symfony\Component\DependencyInjection\Tests\Compiler;
use PHPUnit\Framework\TestCase;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Dumper\PhpDumper;
use Symfony\Component\ExpressionLanguage\Expression;
use Symfony\Component\ExpressionLanguage\ExpressionFunction;
use Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface;
class CustomExpressionLanguageFunctionTest extends TestCase
{
public function testDump()
{
$container = new ContainerBuilder();
$container->register('test', 'stdClass')
->setPublic(true)
->setArguments([new Expression('custom_func("foobar")')]);
$container->addExpressionLanguageProvider(new class() implements ExpressionFunctionProviderInterface {
public function getFunctions()
{
return [
ExpressionFunction::fromPhp('strtolower', 'custom_func'),
];
}
});
$container->compile();
$dump = new PhpDumper($container);
$dumped = $dump->dump();
$this->assertStringContainsString('strtolower("foobar")', $dumped);
}
}