expectException('InvalidArgumentException'); $this->expectExceptionMessage($expectedExceptionMessage); } else { $this->setExpectedException('InvalidArgumentException', $expectedExceptionMessage); } $env = new Twig_Environment($this->getMockBuilder('Twig_LoaderInterface')->getMock()); $env->addExtension($extension); $env->getUnaryOperators(); } public function provideInvalidExtensions() { return array( array(new InvalidOperatorExtension(new stdClass()), '"InvalidOperatorExtension::getOperators()" must return an array with operators, got "stdClass".'), array(new InvalidOperatorExtension(array(1, 2, 3)), '"InvalidOperatorExtension::getOperators()" must return an array of 2 elements, got 3.'), ); } } class InvalidOperatorExtension implements Twig_ExtensionInterface { private $operators; public function __construct($operators) { $this->operators = $operators; } public function initRuntime(Twig_Environment $environment) { } public function getTokenParsers() { return array(); } public function getNodeVisitors() { return array(); } public function getFilters() { return array(); } public function getTests() { return array(); } public function getFunctions() { return array(); } public function getGlobals() { return array(); } public function getOperators() { return $this->operators; } public function getName() { return __CLASS__; } }