public function testStartStop()
 {
     $helper = new SlotsHelper();
     $helper->start('bar');
     echo 'foo';
     $helper->stop();
     $this->assertEquals('foo', $helper->get('bar'), '->start() starts a slot');
     $this->assertTrue($helper->has('bar'), '->starts() starts a slot');
     $helper->start('bar');
     try {
         $helper->start('bar');
         $helper->stop();
         $this->fail('->start() throws an InvalidArgumentException if a slot with the same name is already started');
     } catch (\Exception $e) {
         $helper->stop();
         $this->assertInstanceOf('\\InvalidArgumentException', $e, '->start() throws an InvalidArgumentException if a slot with the same name is already started');
         $this->assertEquals('A slot named "bar" is already started.', $e->getMessage(), '->start() throws an InvalidArgumentException if a slot with the same name is already started');
     }
     try {
         $helper->stop();
         $this->fail('->stop() throws an LogicException if no slot is started');
     } catch (\Exception $e) {
         $this->assertInstanceOf('\\LogicException', $e, '->stop() throws an LogicException if no slot is started');
         $this->assertEquals('No slot started.', $e->getMessage(), '->stop() throws an LogicException if no slot is started');
     }
 }
 public function testStartStop()
 {
     $helper = new SlotsHelper();
     $helper->start('bar');
     echo 'foo';
     $helper->stop();
     $this->assertEquals($helper->get('bar'), 'foo', '->start() starts a slot');
     $this->assertTrue($helper->has('bar'), '->starts() starts a slot');
     $helper->start('bar');
     try {
         $helper->start('bar');
         $helper->stop();
         $this->fail('->start() throws an InvalidArgumentException if a slot with the same name is already started');
     } catch (\InvalidArgumentException $e) {
         $helper->stop();
     }
     try {
         $helper->stop();
         $this->fail('->stop() throws an LogicException if no slot is started');
     } catch (\LogicException $e) {
     }
 }