public function testCanResolveTheSameServiceContainerObject()
 {
     $container1 = new Container();
     $container2 = $container1->make('alexlvcom\\ServiceContainer\\Container');
     $container3 = $this->containerMock->make('alexlvcom\\ServiceContainer\\Container');
     $container4 = $this->containerMock->make('alexlvcom\\ServiceContainer\\Container');
     $this->assertTrue($container1 === $container2, 'Container objects are not equal (first container object created natively)');
     $this->assertTrue($container3 === $container4, 'Container objects are not equal (each container created through container)');
 }
Ejemplo n.º 2
0
}
if ($climate->arguments->defined('name') === false || $climate->arguments->get('name') === '') {
    $climate->usage();
    exit;
}
$time_start = microtime(true);
$taskName = $climate->arguments->get('name');
if (substr($taskName, 0, 1) === '\\') {
    // Absolute namespace provided
    $className = substr($taskName, 1);
} else {
    // relative path goes with prepended alexlvcom\TaskRunner\Tasks namespace
    $className = 'alexlvcom\\TaskRunner\\Tasks\\' . $climate->arguments->get('name');
}
if (class_exists($className)) {
    $task = $container->make($className);
    $task->setServiceContainer($container);
    $task->setDocroot(ROOTPATH);
    $task->setClimate(new \alexlvcom\TaskRunner\Helpers\Climate());
    $task->setLogPath(TASK_LOG_PATH);
    if ($task instanceof alexlvcom\TaskRunner\Task) {
        if (property_exists($className, 'params')) {
            $paramValidator = new ParamValidator();
            foreach ($className::$params as $paramName => $paramRules) {
                if (in_array('required', explode('|', $paramRules))) {
                    $climate->arguments->add([$paramName => ['longPrefix' => $paramName, 'required' => true]]);
                } else {
                    $argument = ['longPrefix' => $paramName, 'required' => false];
                    $defValue = $paramValidator->findDefaultValue($paramRules);
                    if ($defValue !== false) {
                        $argument['defaultValue'] = $defValue;