public function boot(LaravelDebugbar $debugBar, EventDispatcher $eventDispatcher, ViewComposerCollector $viewComposerCollector)
 {
     $eventDispatcher->listen("creating: *", function (View $view) use($viewComposerCollector, $eventDispatcher) {
         foreach ($this->findApplicableComposers($view, $eventDispatcher) as $composer) {
             $viewComposerCollector->addViewComposer($view, $composer);
         }
     });
     $debugBar->addCollector($viewComposerCollector);
 }
 /**
  * @test
  * @dataProvider mockedCollector
  */
 public function itShouldOutputCollectionCorrectly(ViewComposerCollector $collector, CliDumper $dumper, VarCloner $cloner)
 {
     $view = Mockery::mock(View::class);
     $collector->shouldReceive('describeViewComposer')->once()->with($view, $viewComposer = "I'm a View Composer")->andReturn($resultOne = "I'm a description");
     $collector->addViewComposer($view, $viewComposer);
     $collector->shouldReceive('describeViewComposer')->once()->with($view, $viewComposer = "I'm a View Composer, too!")->andReturn($resultTwo = "I'm a description, too!");
     $collector->addViewComposer($view, $viewComposer);
     $this->assertSame(['view-composers' => [['message' => $resultOne], ['message' => $resultTwo]], 'count' => 2], $collector->collect());
 }