1<?php
2
3/*
4 * This file is part of Twig.
5 *
6 * (c) Fabien Potencier
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12use Twig\Extension\ExtensionInterface;
13
14@trigger_error('The Twig_Test_Method class is deprecated since version 1.12 and will be removed in 2.0. Use \Twig\TwigTest instead.', E_USER_DEPRECATED);
15
16/**
17 * Represents a method template test.
18 *
19 * @author Fabien Potencier <fabien@symfony.com>
20 *
21 * @deprecated since 1.12 (to be removed in 2.0)
22 */
23class Twig_Test_Method extends Twig_Test
24{
25    protected $extension;
26    protected $method;
27
28    public function __construct(ExtensionInterface $extension, $method, array $options = [])
29    {
30        $options['callable'] = [$extension, $method];
31
32        parent::__construct($options);
33
34        $this->extension = $extension;
35        $this->method = $method;
36    }
37
38    public function compile()
39    {
40        return sprintf('$this->env->getExtension(\'%s\')->%s', \get_class($this->extension), $this->method);
41    }
42}
43