예제 #1
0
 public function testGetPaths()
 {
     $provider1 = $this->getMock('Oro\\Component\\Layout\\Extension\\Theme\\PathProvider\\PathProviderInterface');
     $provider2 = $this->getMock('Oro\\Component\\Layout\\Extension\\Theme\\PathProvider\\PathProviderInterface');
     $provider3 = $this->getMock('Oro\\Component\\Layout\\Extension\\Theme\\PathProvider\\PathProviderInterface');
     $this->provider->addProvider($provider1, 100);
     $this->provider->addProvider($provider2, 0);
     $this->provider->addProvider($provider3, -100);
     $provider1->expects($this->once())->method('getPaths')->will($this->returnCallback(function (array $existingPaths) {
         $existingPaths[] = 'testPath1';
         $existingPaths[] = 'testPath2/testSubPath';
         return $existingPaths;
     }));
     $provider2->expects($this->once())->method('getPaths')->will($this->returnCallback(function (array $existingPaths) {
         $existingPaths[] = 'testPath1';
         return $existingPaths;
     }));
     $provider3->expects($this->once())->method('getPaths')->will($this->returnCallback(function (array $existingPaths) {
         $existingPaths[] = 'testPath1/testSubPath';
         return $existingPaths;
     }));
     $this->assertSame(['path', 'testPath1', 'testPath2/testSubPath', 'testPath1/testSubPath'], array_values($this->provider->getPaths(['path'])));
 }