protected function createWeb() { Helpers::purge($this->wwwDir); Helpers::purge($this->wwwDir . '/images'); $image = Image::fromBlank(500, 500); $image->save($this->wwwDir . '/images/image.jpg'); }
/** * @param string $outDir Where to store images * @param string $rootDir Root directory of tests, to shorten filenames */ public function __construct($outDir, $rootDir) { $this->enabled = (bool) getenv('MAKE_SCREENSHOTS'); // false - not set, i.e. default if (!$this->enabled) { return; } if (!is_dir($outDir)) { mkdir($outDir, 0777, TRUE); } Tester\Helpers::purge($outDir); $this->outDir = $outDir; $this->rootDir = $rootDir; }
/** * Setup testing environment * @param string $rootDir absolute path to the root of the project * @global string $_GLOBALS['TEMP_DIR'] TEMP_DIR is defined here */ public static function setup($rootDir) { // configure environment umask(0); Environment::setup(); class_alias('Tester\\Assert', 'Assert'); date_default_timezone_set('Europe/Prague'); // create temporary directory $uniqueName = isset($_SERVER['argv']) ? md5(serialize($_SERVER['argv'])) : getmypid(); define('TEMP_DIR', $rootDir . '/tmp/' . $uniqueName); Helpers::purge(TEMP_DIR); @chmod(TEMP_DIR, 0777); // intentional silencer Debugger::$logDirectory = TEMP_DIR; }
public static function setup($rootDir) { // configure environment umask(0); Tester\Environment::setup(); class_alias('Tester\\Assert', 'Assert'); date_default_timezone_set('Europe/Prague'); // create temporary directory define('TEMP_DIR', $rootDir . '/tmp/' . (isset($_SERVER['argv']) ? md5(serialize($_SERVER['argv'])) : getmypid())); Tester\Helpers::purge(TEMP_DIR); @chmod(TEMP_DIR, 0777); Tracy\Debugger::$logDirectory = TEMP_DIR; // $_SERVER = array_intersect_key($_SERVER, array_flip(array( // 'PHP_SELF', 'SCRIPT_NAME', 'SERVER_ADDR', 'SERVER_SOFTWARE', 'HTTP_HOST', 'DOCUMENT_ROOT', 'OS', 'argc', 'argv' // ))); $_SERVER['REQUEST_TIME'] = 1234567890; $_ENV = $_GET = $_POST = $_FILES = array(); }
/** * @param null|string $configFile * @param bool $defaultConfig * @return Nette\DI\Container|\SystemContainer */ public static function createContainer($configFile = NULL, $defaultConfig = TRUE) { // create temporary directory $tempDir = __DIR__ . '/../temp/' . (isset($_SERVER['argv']) ? md5(serialize($_SERVER['argv'])) : getmypid()) . Nette\Utils\Random::generate(); Tester\Helpers::purge($tempDir); $configurator = new Nette\Configurator(); $configurator->setTempDirectory($tempDir); $configurator->addParameters(array('container' => array('class' => 'SystemContainer_' . md5(time())), 'fixturesDir' => FIXTURES_DIR, 'tempDir' => $tempDir, 'wwwDir' => $tempDir)); $configurator->addConfig(__DIR__ . '/../nette-reset.neon'); if ($defaultConfig === TRUE) { $configurator->addConfig(__DIR__ . '/../config.neon'); } if ($configFile !== NULL) { $configurator->addConfig($configFile); } $container = $configurator->createContainer(); /** @var Nette\Http\IRequest $httpRequest */ $httpRequest = $container->getByType('Nette\\Http\\IRequest'); $httpRequest->getUrl()->setHost('localhost'); // with empty host not work properly $ems = $container->findByType('Doctrine\\ORM\\EntityManager'); if (count($ems) === 1) { /** @var EntityManager $em */ $em = $container->getService($ems[0]); $schemaTool = new SchemaTool($em); $schemaTool->createSchema($em->getMetadataFactory()->getAllMetadata()); } $dms = $container->findByType('Doctrine\\ODM\\MongoDB\\DocumentManager'); if (count($dms) === 1) { /** @var DocumentManager $dm */ $dm = $container->getService($dms[0]); $dm->getSchemaManager()->createDatabases(); $dm->getSchemaManager()->createCollections(); } return $container; }
<?php if (@(!(include __DIR__ . '/../vendor/autoload.php'))) { echo 'Install Nette Tester using `composer update --dev`'; exit(1); } // configure environment Tester\Environment::setup(); class_alias('Tester\\Assert', 'Assert'); date_default_timezone_set('Europe/Prague'); // create temporary directory define('TEMP_DIR', __DIR__ . '/tmp/test' . getmypid()); @mkdir(dirname(TEMP_DIR)); // @ - directory may already exist \Tester\Helpers::purge(TEMP_DIR); $_SERVER = array_intersect_key($_SERVER, array_flip(array('PHP_SELF', 'SCRIPT_NAME', 'SERVER_ADDR', 'SERVER_SOFTWARE', 'HTTP_HOST', 'DOCUMENT_ROOT', 'OS', 'argc', 'argv'))); $_SERVER['REQUEST_TIME'] = 1234567890; $_ENV = $_GET = $_POST = array(); function id($val) { return $val; } function run(Tester\TestCase $testCase) { $testCase->run(isset($_SERVER['argv'][1]) ? $_SERVER['argv'][1] : NULL); }
<?php require __DIR__ . '/../vendor/autoload.php'; if (!class_exists('Tester\\Assert')) { echo "Install Nette Tester using `composer update --dev`\n"; exit(1); } Tester\Environment::setup(); \Tester\Helpers::purge(__DIR__ . '/temp'); $configurator = new Nette\Configurator(); $configurator->setDebugMode(FALSE); $configurator->setTempDirectory(__DIR__ . '/temp'); $configurator->createRobotLoader()->addDirectory(__DIR__ . '/../src')->register(); $configurator->addConfig(__DIR__ . '/config.neon'); return $configurator->createContainer();
<?php require __DIR__ . '/../../../vendor/autoload.php'; Tester\Environment::setup(); date_default_timezone_set('Europe/Prague'); $configurator = new Nette\Configurator(); //$configurator->enableDebugger(__DIR__ . '/log'); $configurator->setTempDirectory(__DIR__ . '/temp'); $configurator->createRobotLoader()->addDirectory(__DIR__ . '/../app')->addDirectory(__DIR__ . '/../libs')->register(); $configurator->addConfig(__DIR__ . '/../app/config/config.neon'); $configurator->addConfig(__DIR__ . '/config.test.local.neon'); $container = $configurator->createContainer(); \Tester\Helpers::purge(__DIR__ . '/log'); class EntityResuscitator extends \Nette\Object { /** * @var \LeanMapper\IMapper */ private $mapper; /** * @var \LeanMapper\Connection */ private $connection; /** * @var \LeanMapper\IEntityFactory */ private $entityFactory; public function __construct(\LeanMapper\IMapper $mapper, \LeanMapper\Connection $connection, \LeanMapper\IEntityFactory $entityFactory) { $this->mapper = $mapper; $this->connection = $connection;
<?php use Tester\Environment; use Tester\Helpers; use Tracy\Debugger; if (@(!(include __DIR__ . '/vendor/autoload.php'))) { echo 'Install Nette Tester using `composer update --dev`'; exit(1); } require_once './functions.php'; Debugger::enable(FALSE); // configure environment Environment::setup(); date_default_timezone_set('Europe/Prague'); // create temporary directory define('TEMP_DIR', __DIR__ . '/temp/'); Helpers::purge(TEMP_DIR); ini_set('session.save_path', TEMP_DIR);