Esempio n. 1
0
 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'));
 }
Esempio n. 2
0
//Defining PHP_START will allow cubex to add an execution time header
define('PHP_START', microtime(true));
//Include the composer autoloader
require_once dirname(__DIR__) . '/vendor/autoload.php';
// Set correct enviroment
if (isset($_SERVER['APPLICATION_ID']) && $_SERVER['APPLICATION_ID'] == 'dev~steamranks-com') {
    putenv('CUBEX_ENV=LOCAL');
} else {
    putenv('CUBEX_ENV=PRODUCTION');
}
putenv('CUBEX_ENV=LOCAL');
//Create an instance of cubex, with the web root defined
$app = new \Cubex\Cubex(__DIR__);
$app->boot();
//Create and configure a new dispatcher
$dispatcher = new \Packaged\Dispatch\Dispatch($app, $app->getConfiguration()->getSection('dispatch'));
//Set the correct working directory for dispatcher
$dispatcher->setBaseDirectory(dirname(__DIR__));
//Load in the cache of file hashes to improve performance of dispatched assets
$fileHash = 'conf/dispatch.filehash.ini';
if (file_exists($fileHash)) {
    $hashTable = parse_ini_file($fileHash, false);
    if (!empty($hashTable)) {
        $dispatcher->setFileHashTable($hashTable);
    }
}
//Inject dispatch to handle assets
$app = (new \Stack\Builder())->push([$dispatcher, 'prepare'])->resolve($app);
//Create a request object
$request = \Cubex\Http\Request::createFromGlobals();
//Tell Cubex to handle the request, and do its magic
 public function getDispatch(array $options = [])
 {
     $options = array_merge(['source_dir' => 'tests'], $options);
     $kernel = $this->getMock('\\Symfony\\Component\\HttpKernel\\HttpKernelInterface');
     /**
      * @var $kernel Symfony\Component\HttpKernel\HttpKernelInterface
      */
     $dispatch = new \Packaged\Dispatch\Dispatch($kernel, $options);
     $dispatch->setBaseDirectory(dirname(__DIR__));
     return $dispatch;
 }
Esempio n. 4
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());
 }