/**
  * Register the Redirector service.
  *
  * @return void
  */
 protected function registerRedirector()
 {
     $this->app['redirect'] = $this->app->share(function ($app) {
         $redirector = new Redirector($app['url'], $app['translator']);
         // If the session is set on the application instance, we'll inject it into
         // the redirector instance. This allows the redirect responses to allow
         // for the quite convenient "with" methods that flash to the session.
         if (isset($app['session.store'])) {
             $redirector->setSession($app['session.store']);
         }
         return $redirector;
     });
 }
 /**
  * @test
  *
  * Tests the Redirect::withLangMessage() method.
  */
 public function should_flash_language_messages_with_type_to_session()
 {
     $messages = new \Jgallred\Simplemessage\Messaging\Typed\Messages();
     $this->mock_session->shouldReceive('get')->andReturn($messages);
     $this->mock_url->shouldReceive('to')->andReturn('/home');
     $this->mock_url->shouldReceive('getRequest')->andReturn(Mockery::mock('\\Illuminate\\Http\\Request'));
     $this->mock_session->shouldReceive('flash')->atLeast(1)->with('messages', $messages);
     $this->mock_translator->shouldReceive('get')->atLeast(1)->with('simplemessage::test.test_line')->andReturn('used for unit testing');
     $this->redirector->to('')->withLangMessage('simplemessage::test.test_line', 'success');
     $this->assertCount(1, $messages);
     $this->assertEquals('used for unit testing', $messages->first()->text);
     $this->assertEquals('success', $messages->first()->type);
 }