/** * @test */ public function load_metadata_should_call_all_loaders() { $loader1 = $this->prophesize('Kcs\\Metadata\\Loader\\LoaderInterface'); $loader2 = $this->prophesize('Kcs\\Metadata\\Loader\\LoaderInterface'); $loader3 = $this->prophesize('Kcs\\Metadata\\Loader\\LoaderInterface'); $metadata = new ClassMetadata(new \ReflectionClass($this)); $loader1->loadClassMetadata($metadata)->shouldBeCalled(); $loader2->loadClassMetadata($metadata)->shouldBeCalled(); $loader3->loadClassMetadata($metadata)->shouldBeCalled(); $loader = new ChainLoader([$loader1->reveal(), $loader2->reveal(), $loader3->reveal()]); $loader->loadClassMetadata($metadata); }
/** * {@inheritdoc} */ public function __construct(array $paths, $loaderClass = null) { $this->loaderClass = $loaderClass; $loaders = []; foreach ($paths as $path) { $loaders[] = $this->getLoader($path); } parent::__construct($loaders); }