public function testGenerateHtmlIncludes() { $request = \Symfony\Component\HttpFoundation\Request::createFromGlobals(); $request->headers->set('HOST', 'www.packaged.in'); $request->server->set('REQUEST_URI', '/'); $opts = ['assets_dir' => 'asset']; $opt = new \Packaged\Config\Provider\ConfigSection('', $opts); $dispatcher = new \Packaged\Dispatch\Dispatch(new DummyKernel(), $opt); $dispatcher->setBaseDirectory(__DIR__); $dispatcher->handle($request); $manager = \Packaged\Dispatch\AssetManager::assetType(); $manager->requireCss('test'); $manager->requireJs('test', ['delay' => true]); $manager->requireJs('tests'); $manager->requireJs('tests.min'); $manager->requireJs('testnotfound', ['delay' => true]); $this->assertEquals('<link href="//www.packaged.in/res/p/8cac7/b/76d6c18/test.css"' . ' rel="stylesheet" type="text/css">', \Packaged\Dispatch\AssetManager::generateHtmlIncludes('css')); $this->assertEquals('<script src="//www.packaged.in/res/p/8cac7/b/e2218e4/test.js"' . ' delay="true"></script>' . '<script src="//www.packaged.in/res/p/8cac7/b/9b0a055/tests.min.js">' . '</script>', \Packaged\Dispatch\AssetManager::generateHtmlIncludes('js')); $this->assertEquals('', \Packaged\Dispatch\AssetManager::generateHtmlIncludes('fnt')); }
public function testTrigger() { $event = new \Packaged\Dispatch\DispatchEvent(); NewDispatcher::clear(); NewDispatcher::trigger($event); $this->assertNull($event->getResult()); $request = \Symfony\Component\HttpFoundation\Request::createFromGlobals(); $request->headers->set('HOST', 'packaged.in'); $request->server->set('REQUEST_URI', '/'); $dispatcher = new \Packaged\Dispatch\Dispatch(new DummyKernel(), ['source_dir' => 'tests']); $dispatcher->handle($request); $event = new \Packaged\Dispatch\DispatchEvent(); $event->setFilename('test.css'); $event->setMapType(\Packaged\Dispatch\DirectoryMapper::MAP_SOURCE); $event->setPath('asset'); \Packaged\Dispatch\Dispatch::trigger($event); $expect = '//packaged.in/res/s/dfcbf/asc04e3/76d6c18/test.css'; $this->assertEquals($expect, $event->getResult()); }