public function testTriggerOnMissWithClosure() { $callcount = 0; $registry = new Registry(); $registry->trigger('my_key', function ($registry) use(&$callcount) { $registry->register('my_key', (object) array('test' => 'blargh')); $callcount++; }); $this->assertEquals($callcount, 0); $this->assertFalse($registry->isRegistered('my_key')); $this->assertEquals($registry->lookup('my_key')->test, 'blargh'); $this->assertEquals($callcount, 1); $this->assertEquals($registry->lookup('my_key')->test, 'blargh'); $this->assertEquals($callcount, 1); }