예제 #1
0
 /**
  * @covers \KodiCMS\Assets\Assets::loadPackage
  * @covers \KodiCMS\Assets\Assets::getPackages
  * @covers \KodiCMS\Assets\Assets::removePackages
  */
 public function testLoadPackage()
 {
     $manager = $this->assets->packageManager();
     $package1 = m::mock(\KodiCMS\Assets\Package::class);
     $package1->shouldReceive('getName')->once()->andReturn('test');
     $package1->shouldReceive('hasDependencies')->once()->andReturn(true);
     $package1->shouldReceive('getDependencies')->once()->andReturn(['test2']);
     $package2 = m::mock(\KodiCMS\Assets\Package::class);
     $package2->shouldReceive('getName')->once()->andReturn('test1');
     $package2->shouldReceive('hasDependencies')->once()->andReturn(false);
     $package2->shouldNotReceive('getDependencies');
     $package3 = m::mock(\KodiCMS\Assets\Package::class);
     $package3->shouldReceive('getName')->once()->andReturn('test2');
     $package3->shouldReceive('hasDependencies')->once()->andReturn(false);
     $package3->shouldNotReceive('getDependencies');
     $package4 = m::mock(\KodiCMS\Assets\Package::class);
     $package4->shouldReceive('getName')->once()->andReturn('test3');
     $package4->shouldNotReceive('hasDependencies');
     $package4->shouldNotReceive('getDependencies');
     $manager->add($package1);
     $manager->add($package2);
     $manager->add($package3);
     $manager->add($package4);
     $this->assets->loadPackage('test', 'test1');
     $this->assets->loadPackage('test1', 'test2');
     static::assertCount(3, $this->assets->loadedPackages());
     static::assertEquals(['test', 'test2', 'test1'], $this->assets->loadedPackages());
     $this->assets->removePackages();
     static::assertCount(0, $this->assets->loadedPackages());
 }