예제 #1
0
파일: CompilerTest.php 프로젝트: solve/slot
 protected function _testTemplatesExecution($path, $vars)
 {
     $files = GLOB('templates/' . $path);
     if (empty($files)) {
         $this->fail('files not found in ' . $path);
     }
     $this->_slot->setTemplateDir(__DIR__ . '/templates/');
     $this->_slot->setCompileDir(__DIR__ . '/compiled/');
     foreach ($files as $file) {
         $expectation = trim(file_get_contents('expectations/' . substr($file, 10, -4) . 'php'));
         $compiled = trim($this->_slot->fetchTemplate('02.complex.slot', $vars));
         $this->assertEquals($expectation, $compiled, 'working with: ' . $file);
     }
 }
예제 #2
0
 public function configure()
 {
     parent::configure();
     $this->_slot = new Slot();
     $this->_slot->setTemplateDir($this->_view->getTemplatesPath());
     $this->_slot->setCompileDir(DC::getEnvironment()->getTmpRoot() . 'templates/' . DC::getApplication()->getName() . '/');
     $fs = new FSService();
     DC::getAutoloader()->registerSharedPath(DC::getEnvironment()->getUserClassesRoot() . 'helpers');
     if ($files = $fs->in(DC::getEnvironment()->getUserClassesRoot() . 'helpers')->find('*Block.php')) {
         foreach ($files as $file) {
             $this->_slot->registerBlock(Inflector::underscore(substr($file, strrpos($file, DIRECTORY_SEPARATOR) + 1, -9)), '\\');
         }
     }
 }