/** * @covers \KodiCMS\Assets\Assets::addCss * @covers \KodiCMS\Assets\Assets::getCss * @covers \KodiCMS\Assets\Assets::getCssList * @covers \KodiCMS\Assets\Assets::removeCss */ public function testCss() { $manager = $this->assets->packageManager(); $package = m::mock(\KodiCMS\Assets\Package::class); $package->shouldReceive('getName')->once()->andReturn('package'); $package->shouldReceive('hasDependencies')->once()->andReturn(false); $package->shouldReceive('getCss')->times(3)->andReturn([new \KodiCMS\Assets\Css('package.css', 'path/to/css', [], ['attr' => 'attr_value'])]); $manager->add($package); $this->assets->loadPackage('package'); $css = $this->assets->addCss('test', 'path/to/test.css', ['package'], ['attr' => 'attr_value']); static::assertInstanceOf(\KodiCMS\Assets\Css::class, $css); $this->assets->addCss('test1', 'path/to/test1.css', ['test4', 'test5'], ['attr' => 'attr_value']); static::assertEquals('<link attr="attr_value" media="all" type="text/css" rel="stylesheet" href="http://site.com">', $this->assets->getCss('test1')); static::assertEquals('<link attr="attr_value" media="all" type="text/css" rel="stylesheet" href="http://site.com">' . PHP_EOL . '<link attr="attr_value" media="all" type="text/css" rel="stylesheet" href="http://site.com">' . PHP_EOL . '<link attr="attr_value" media="all" type="text/css" rel="stylesheet" href="http://site.com">', $this->assets->getCssList()); $this->assets->removeCss('test1'); static::assertEmpty($this->assets->getCss('test1')); static::assertEquals('<link attr="attr_value" media="all" type="text/css" rel="stylesheet" href="http://site.com">' . PHP_EOL . '<link attr="attr_value" media="all" type="text/css" rel="stylesheet" href="http://site.com">', $this->assets->getCssList()); $this->assets->addCss('test1', 'path/to/test.css', ['test2', 'test3'], ['attr' => 'attr_value']); $this->assets->removeCss(); static::assertEmpty($this->assets->getCss('test')); static::assertEmpty($this->assets->getCss('test1')); static::assertEquals('<link attr="attr_value" media="all" type="text/css" rel="stylesheet" href="http://site.com">', $this->assets->getCssList()); }