public function __construct() { parent::__construct(); $this->container = new Container(); $this->container['cfg'] = function ($c) { return new Config(); }; $this->container['num'] = function ($c) { return 42; }; $this->container->bind('Fixture\\Momonga', $this->momongaId, function ($c) { return new Momonga(); }); }
private function getInjector() { $c = new Container(); $c->bind('Fixture\\Momonga', 'momonga', function ($c) { return new Fixture\Momonga(); }); return new Dispatcher($c); }
public function testGetByType() { $c = new Container(); $this->assertNull($c->getByType('Fixture\\Momonga')); $c->bind('Fixture\\Momonga', 'momonga', function ($c) { return new Momonga(); }); $this->assertInstanceOf('Fixture\\Momonga', $c->getByType('Fixture\\Momonga')); }
public function testBasicFacade() { $c = new Container(); $c->bind('Fixture\\Lighter', 'lighter', function ($c) { return new Fixture\Lighter(); }); $c->facade('OilLighter', 'lighter'); Container::setAsFacade($c); $goods = OilLighter::candle('Urushi', 'Sinjyu'); $this->assertEquals('Sinjyu top of the Urushi', $goods); }
public function testControllerArgs() { $c = new Container(['test' => $this]); $c->bind('Fixture\\Momonga', 'momonga', function ($c) { return new Momonga(); }); $r = new Router($c); $r->get('/', 'Fixture\\MomongaController@argtest'); $req = Request::create('/'); $res = $r->run($req); $this->assertEquals(200, $res->getStatusCode()); $this->assertEquals('Momonga argtest', $res->getContent()); }
/** */ public function testDiByType() { $test = $this; $c = new Container(); $c->bind('Fixture\\Momonga', 'momonga', function ($c) { return new Momonga(); }); $r = new Router($c); $r->get('/', function (Momonga $m) use($test, $c) { $test->assertSame($c['momonga'], $m); return ''; }); $req = Request::create('/'); $res = $r->run($req); $this->assertEquals(200, $res->getStatusCode()); }
public function testNotFrozen() { $c = new Container(); $c['momonga'] = $c->factory(function ($c) { return new Momonga(); }); $c['momonga']; $c->bind('Fixture\\Momonga', 'momonga', function ($c) { return new Momonga(); }); $c = new Container(); $c['momonga'] = 42; $c['momonga']; $c->bind('Fixture\\Momonga', 'momonga', function ($c) { return new Momonga(); }); $this->assertTrue(true); }