1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Bridge\Twig\Tests\Extension;
- use Fig\Link\Link;
- use PHPUnit\Framework\TestCase;
- use Symfony\Bridge\Twig\Extension\WebLinkExtension;
- use Symfony\Component\HttpFoundation\Request;
- use Symfony\Component\HttpFoundation\RequestStack;
- /**
- * @author Kévin Dunglas <dunglas@gmail.com>
- */
- class WebLinkExtensionTest extends TestCase
- {
- /**
- * @var Request
- */
- private $request;
- /**
- * @var WebLinkExtension
- */
- private $extension;
- protected function setUp()
- {
- $this->request = new Request();
- $requestStack = new RequestStack();
- $requestStack->push($this->request);
- $this->extension = new WebLinkExtension($requestStack);
- }
- public function testLink()
- {
- $this->assertEquals('/foo.css', $this->extension->link('/foo.css', 'preload', array('as' => 'style', 'nopush' => true)));
- $link = (new Link('preload', '/foo.css'))->withAttribute('as', 'style')->withAttribute('nopush', true);
- $this->assertEquals(array($link), array_values($this->request->attributes->get('_links')->getLinks()));
- }
- public function testPreload()
- {
- $this->assertEquals('/foo.css', $this->extension->preload('/foo.css', array('as' => 'style', 'crossorigin' => true)));
- $link = (new Link('preload', '/foo.css'))->withAttribute('as', 'style')->withAttribute('crossorigin', true);
- $this->assertEquals(array($link), array_values($this->request->attributes->get('_links')->getLinks()));
- }
- public function testDnsPrefetch()
- {
- $this->assertEquals('/foo.css', $this->extension->dnsPrefetch('/foo.css', array('as' => 'style', 'crossorigin' => true)));
- $link = (new Link('dns-prefetch', '/foo.css'))->withAttribute('as', 'style')->withAttribute('crossorigin', true);
- $this->assertEquals(array($link), array_values($this->request->attributes->get('_links')->getLinks()));
- }
- public function testPreconnect()
- {
- $this->assertEquals('/foo.css', $this->extension->preconnect('/foo.css', array('as' => 'style', 'crossorigin' => true)));
- $link = (new Link('preconnect', '/foo.css'))->withAttribute('as', 'style')->withAttribute('crossorigin', true);
- $this->assertEquals(array($link), array_values($this->request->attributes->get('_links')->getLinks()));
- }
- public function testPrefetch()
- {
- $this->assertEquals('/foo.css', $this->extension->prefetch('/foo.css', array('as' => 'style', 'crossorigin' => true)));
- $link = (new Link('prefetch', '/foo.css'))->withAttribute('as', 'style')->withAttribute('crossorigin', true);
- $this->assertEquals(array($link), array_values($this->request->attributes->get('_links')->getLinks()));
- }
- public function testPrerender()
- {
- $this->assertEquals('/foo.css', $this->extension->prerender('/foo.css', array('as' => 'style', 'crossorigin' => true)));
- $link = (new Link('prerender', '/foo.css'))->withAttribute('as', 'style')->withAttribute('crossorigin', true);
- $this->assertEquals(array($link), array_values($this->request->attributes->get('_links')->getLinks()));
- }
- }
|