You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php
/* * @copyright NetMonsters <team@netmonsters.ru> * @link http://netmonsters.ru * @package Majestic * @subpackage UnitTests * @since 2011-10-.. * * Unit tests for Load class */
require dirname(__FILE__) . '/../Load.php';
class LoadTest extends PHPUnit_Framework_TestCase {
private static $inc_dirs = array(); private static $file;
/** * @TODO: Load->buildAutoload() - uses two paths - PATH . '/' . APP . '/src' and PATH . '/lib' those are not checked. Can couse error. * @expectedException UnexpectedValueException * @expectedException PHPUnit_Framework_Error */ public static function setUpBeforeClass() { if (!defined('PATH')) { define('PATH', realpath(dirname(__FILE__) . '/../../..')); }
// default application name
if (!defined('APP')) { define('APP', 'lib/core/tests/face'); }
self::$file = PATH . '/' . APP . '/cache/autoload.php';
// value - if dir exists (to delete it if it was created), default true
self::$inc_dirs[PATH . '/' . APP . '/src'] = true; self::$inc_dirs[PATH . '/' . APP . '/cache'] = true; self::$inc_dirs[PATH . '/lib'] = true;
foreach (self::$inc_dirs as $dir => &$is_exist) { if (!file_exists($dir)) { $is_exist = false; mkdir($dir, 0777, true); } } }
public function testSetAutoLoadFrom() { // autoload
Load::setAutoloadFrom(self::$file);
$autoload = require(self::$file); $this->assertNotEmpty($autoload); Load::autoload('Action'); } public function testDebugAutoload() { Load::setAutoloadFrom(self::$file);
$autoload = require(self::$file); $this->assertNotEmpty($autoload); define('DEBUG', true); Load::autoload('Func'); Load::autoload('Captcha'); }
public function testAutoloadArrayExists() { $this->assertFileExists(self::$file); }
/** * @TODO: Load - check if input file returns array */ public function testFileForArray() { $autoload = require(self::$file); $this->assertInternalType('array', $autoload); }
public function testAutoloadArrayNotEmpty() { $autoload = require(self::$file); $this->assertNotEmpty($autoload); $this->assertArrayHasKey('Action', $autoload); }
public function testAutoloadGetFilePath() { $autoload = require(self::$file); $this->assertNotEmpty(Load::getFilePath('Registry')); }
/** * @TODO: Load::getFilePath - check for wrong index * @expectedException PHPUnit_Framework_Error */ public function testAutoloadGetFilePathNullIndex() { $autoload = require(self::$file); $this->assertNotEmpty(Load::getFilePath('anton')); }
public static function tearDownAfterClass() { if (file_exists(self::$file)) { unlink(self::$file); }
foreach (self::$inc_dirs as $dir => $is_exist) { if (!$is_exist) { rmdir($dir); } } rmdir(PATH . '/' . APP); }
}
|