/** * */ function test_invoke_with_provider() { $resolver = new Resolver(); $resolver->setProvider(function () { return 'bar'; }); $this->assertEquals('bar', $resolver('foo')); }
/** * */ function test_provider() { $resolver = new Resolver(); $provider = function () { }; $resolver->setProvider($provider); $this->assertTrue($provider === $resolver->provider()); }
/** * */ function test_gem_provide() { $resolver = new Resolver(); $resolver->setProvider(function ($foo) { return $foo; }); $this->assertEquals('bar', $resolver->gem(new Provide('bar'))); }
/** * */ function test_invokable_closure_with_provider() { $plugin = new Config(); $provider = new Resolver(); $provider->configure('bar', $plugin); $resolver = new Resolver(); $resolver->setProvider($provider); $resolver->configure('foo', function ($bar) { return $bar; }); $this->assertEquals($plugin, $resolver->invokable('foo')); }
/** * */ function test_clone_same_provider() { $resolver = new Resolver(); $provider = function () { }; $resolver->setProvider($provider); $clone = clone $resolver; $this->assertEquals(true, $clone->provider() === $resolver->provider()); }