/** * */ function test_call_invoke_not_resolvable() { $resolver = new Resolver(); $this->assertEquals('foo', $resolver->call(function () { return 'foo'; })); }
/** * */ function test_gem_invokable_merge() { $resolver = new Resolver(); $invokable = new Invokable(new Call(new Invoke(function ($foo, $bar, $baz) { return $foo . $bar . $baz; })), ['s']); $callable = $resolver->gem($invokable); $this->assertEquals('foobars', $callable('foo', 'bar')); $this->assertEquals('foobars', call_user_func($callable, 'foo', 'bar')); $this->assertEquals('foobars', call_user_func_array($callable, ['foo', 'bar'])); $this->assertEquals('foobars', $resolver->call($callable, ['foo', 'bar'])); }