/** * Generate the build files for css and scripts. * * @return void */ protected function _buildFiles() { if (!empty($this->_buildFiles['css'])) { $Css = new CssFile(); foreach ($this->_buildFiles['css'] as $target => $contents) { if (strpos($target, ':hash') === 0) { $target = md5(implode('_', $contents)); } $this->out('Saving CSS file for ' . $target); $compress = $Css->process($contents); $Css->cache($target . '.css', $compress); } } if (!empty($this->_buildFiles['script'])) { $Js = new JsFile(); foreach ($this->_buildFiles['script'] as $target => $contents) { if (strpos($target, ':hash') === 0) { $target = md5(implode('_', $contents)); } $this->out('Saving Javascript file for ' . $target); $compress = $Js->process($contents); $Js->cache($target . '.js', $compress); } } }
public function testGeneral() { $js = new JsFile(); $js->clear(); $this->assertEmpty($js->getVars()); $js->add('jquery', 'src/jquery.js'); $js->add('jquery2', ['src' => 'src/jquery2.js']); $this->assertNotEmpty($js->getVars()); $this->assertNotEmpty($js->get('jquery')); $js->add('jquery', 'src/jquery2.js'); $this->assertTrue(count($js->get('jquery')) == 1); $this->assertNotEmpty($js->render()); $js->addAll(['underscore' => 'src/underscore.js', 'underscore2' => 'src/underscore2.js']); $this->assertNotEmpty($js->render()); $js->prependAll(['slider1' => 'src/slider1.js', 'slider2' => 'src/slider2.js']); $js->prepend('slider0', 'src/slider0.js'); }