Beispiel #1
0
 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());
 }
Beispiel #2
0
 /**
  * Generate a resource uri
  *
  * @param $filename
  * @param $path
  * @param $extension
  *
  * @return mixed
  */
 public function getResourceUri($filename, $path = null, $extension = null)
 {
     //If no filename is sent, the resource is very unlikely to be valid
     if (empty($filename)) {
         return null;
     }
     if ($this->isExternalUrl($filename)) {
         return $filename;
     }
     if ($extension !== null) {
         if (substr($filename, -4) !== '.min') {
             $filename = [$filename . '.min.' . $extension, $filename . '.' . $extension];
         } else {
             $filename = [$filename . '.' . $extension];
         }
     }
     $event = new DispatchEvent();
     $event->setLookupParts((array) $this->_lookupParts);
     $event->setMapType($this->_mapType);
     $event->setPath($path);
     foreach ((array) $filename as $fname) {
         $event->setFilename($fname);
         $result = Dispatch::trigger($event);
         if ($result !== null && $result->getResult() !== null) {
             return $result->getResult();
         }
     }
     return null;
 }