io = $this->getMock('Cake\Console\ConsoleIo', [], [], '', false); $this->Task = $this->getMock( 'Cake\Shell\Task\AssetsTask', array('in', 'out', 'err', '_stop'), array($this->io) ); } /** * tearDown method * * @return void */ public function tearDown() { parent::tearDown(); unset($this->Task); Plugin::unload(); } /** * testExecute method * * @return void */ public function testExecute() { Plugin::load('TestPlugin'); Plugin::load('Company/TestPluginThree'); $this->Task->main(); $path = WWW_ROOT . 'test_plugin'; $link = new \SplFileInfo($path); $this->assertTrue($link->isLink()); $this->assertTrue(file_exists($path . DS . 'root.js')); unlink($path); $path = WWW_ROOT . 'company' . DS . 'test_plugin_three'; $link = new \SplFileInfo($path); $this->assertTrue($link->isLink()); $this->assertTrue(file_exists($path . DS . 'css' . DS . 'company.css')); $folder = new Folder(WWW_ROOT . 'company'); $folder->delete(); } /** * test that plugins without webroot are not processed * * @return void */ public function testForPluginWithoutWebroot() { Plugin::load('TestPluginTwo'); $this->Task->main(); $this->assertFalse(file_exists(WWW_ROOT . 'test_plugin_two')); } }