当前位置: 首页>>代码示例>>PHP>>正文


PHP PHPUnit_Util_Class::getHierarchy方法代码示例

本文整理汇总了PHP中PHPUnit_Util_Class::getHierarchy方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPUnit_Util_Class::getHierarchy方法的具体用法?PHP PHPUnit_Util_Class::getHierarchy怎么用?PHP PHPUnit_Util_Class::getHierarchy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PHPUnit_Util_Class的用法示例。


在下文中一共展示了PHPUnit_Util_Class::getHierarchy方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getObjectAttribute

 /**
  * Returns the value of an object's attribute.
  * This also works for attributes that are declared protected or private.
  *
  * @param  object  $object
  * @param  string  $attributeName
  * @return mixed
  * @throws InvalidArgumentException
  * @access public
  * @static
  * @since  Method available since Release 3.1.0
  */
 public static function getObjectAttribute($object, $attributeName)
 {
     if (!is_object($object) || !is_string($attributeName)) {
         throw new InvalidArgumentException();
     }
     self::assertObjectHasAttribute($attributeName, $object);
     if (property_exists($object, $attributeName)) {
         return $object->{$attributeName};
     } else {
         $array = (array) $object;
         $protectedName = "*" . $attributeName;
         if (array_key_exists($protectedName, $array)) {
             return $array[$protectedName];
         } else {
             $classes = PHPUnit_Util_Class::getHierarchy(get_class($object));
             foreach ($classes as $class) {
                 $privateName = sprintf("%s%s", $class, $attributeName);
                 if (array_key_exists($privateName, $array)) {
                     return $array[$privateName];
                 }
             }
         }
     }
     throw new RuntimeException(sprintf('Attribute "%s" not found in object.', $attributeName));
 }
开发者ID:ahmedadham88,项目名称:enhanced-social-network,代码行数:37,代码来源:Assert.php

示例2: __construct

 /**
  * Constructor.
  *
  * @param  ReflectionClass $class
  * @param  array           $codeCoverage
  */
 protected function __construct(ReflectionClass $class, &$codeCoverage = array())
 {
     $this->class = $class;
     $className = $class->getName();
     $packageInformation = PHPUnit_Util_Class::getPackageInformation($className);
     if (!empty($packageInformation['fullPackage'])) {
         $this->package = $packageInformation['fullPackage'];
     }
     $this->setCoverage($codeCoverage);
     $this->dit = count(PHPUnit_Util_Class::getHierarchy($class->getName())) - 1;
     $this->impl = count($class->getInterfaces());
     foreach ($this->class->getMethods() as $method) {
         if ($method->getDeclaringClass()->getName() == $className) {
             $this->methods[$method->getName()] = PHPUnit_Util_Metrics_Function::factory($method, $codeCoverage);
         } else {
             $this->inheritedMethods[$method->getName()] = PHPUnit_Util_Metrics_Function::factory($method, $codeCoverage);
         }
     }
     $this->calculateAttributeMetrics();
     $this->calculateMethodMetrics();
     $this->calculateNumberOfChildren();
     $this->calculatePolymorphismFactor();
     $this->calculateDependencies();
 }
开发者ID:yunsite,项目名称:baokao,代码行数:30,代码来源:Class.php

示例3: getObjectAttribute

 /**
  * Returns the value of an object's attribute.
  * This also works for attributes that are declared protected or private.
  *
  * @param  object  $object
  * @param  string  $attributeName
  * @return mixed
  * @throws InvalidArgumentException
  * @since  Method available since Release 3.1.0
  */
 public static function getObjectAttribute($object, $attributeName)
 {
     if (!is_object($object) || !is_string($attributeName)) {
         throw new InvalidArgumentException();
     }
     self::assertObjectHasAttribute($attributeName, $object);
     try {
         $attribute = new ReflectionProperty($object, $attributeName);
     } catch (ReflectionException $e) {
         // Workaround for http://bugs.php.net/46064
         if (version_compare(PHP_VERSION, '5.2.7', '<')) {
             $reflector = new ReflectionObject($object);
             $attributes = $reflector->getProperties();
             foreach ($attributes as $_attribute) {
                 if ($_attribute->getName() == $attributeName) {
                     $attribute = $_attribute;
                     break;
                 }
             }
         }
         $reflector = new ReflectionObject($object);
         while ($reflector = $reflector->getParentClass()) {
             try {
                 $attribute = $reflector->getProperty($attributeName);
                 break;
             } catch (ReflectionException $e) {
             }
         }
     }
     if ($attribute->isPublic()) {
         return $object->{$attributeName};
     } else {
         $array = (array) $object;
         $protectedName = "*" . $attributeName;
         if (array_key_exists($protectedName, $array)) {
             return $array[$protectedName];
         } else {
             $classes = PHPUnit_Util_Class::getHierarchy(get_class($object));
             foreach ($classes as $class) {
                 $privateName = sprintf("%s%s", $class, $attributeName);
                 if (array_key_exists($privateName, $array)) {
                     return $array[$privateName];
                 }
             }
         }
     }
     throw new RuntimeException(sprintf('Attribute "%s" not found in object.', $attributeName));
 }
开发者ID:swk,项目名称:bluebox,代码行数:58,代码来源:Assert.php

示例4: run

 /**
  * Runs a TestCase.
  *
  * @param  PHPUnit_Framework_Test $test
  */
 public function run(PHPUnit_Framework_Test $test)
 {
     PHPUnit_Framework_Assert::resetCount();
     $error = FALSE;
     $failure = FALSE;
     $incomplete = FALSE;
     $skipped = FALSE;
     $this->startTest($test);
     $errorHandlerSet = FALSE;
     if ($this->convertErrorsToExceptions) {
         $oldErrorHandler = set_error_handler(array('PHPUnit_Util_ErrorHandler', 'handleError'), E_ALL | E_STRICT);
         if ($oldErrorHandler === NULL) {
             $errorHandlerSet = TRUE;
         } else {
             restore_error_handler();
         }
     }
     if (self::$xdebugLoaded === NULL) {
         self::$xdebugLoaded = extension_loaded('xdebug');
         self::$useXdebug = self::$xdebugLoaded;
     }
     $useXdebug = self::$useXdebug && $this->codeCoverage !== NULL && !$test instanceof PHPUnit_Extensions_SeleniumTestCase && !$test instanceof PHPUnit_Framework_Warning;
     if ($useXdebug) {
         // We need to blacklist test source files when no whitelist is used.
         if (!$this->codeCoverage->filter()->hasWhitelist()) {
             $classes = PHPUnit_Util_Class::getHierarchy(get_class($test), TRUE);
             foreach ($classes as $class) {
                 $this->codeCoverage->filter()->addFileToBlacklist($class->getFileName());
             }
         }
         $this->codeCoverage->start($test);
     }
     PHP_Timer::start();
     try {
         if (!$test instanceof PHPUnit_Framework_Warning && $this->strictMode && extension_loaded('pcntl') && class_exists('PHP_Invoker')) {
             switch ($test->getSize()) {
                 case PHPUnit_Util_Test::SMALL:
                     $_timeout = $this->timeoutForSmallTests;
                     break;
                 case PHPUnit_Util_Test::MEDIUM:
                     $_timeout = $this->timeoutForMediumTests;
                     break;
                 case PHPUnit_Util_Test::LARGE:
                     $_timeout = $this->timeoutForLargeTests;
                     break;
             }
             $invoker = new PHP_Invoker();
             $invoker->invoke(array($test, 'runBare'), array(), $_timeout);
         } else {
             $test->runBare();
         }
     } catch (PHPUnit_Framework_AssertionFailedError $e) {
         $failure = TRUE;
         if ($e instanceof PHPUnit_Framework_IncompleteTestError) {
             $incomplete = TRUE;
         } else {
             if ($e instanceof PHPUnit_Framework_SkippedTestError) {
                 $skipped = TRUE;
             }
         }
     } catch (Exception $e) {
         $error = TRUE;
     }
     $time = PHP_Timer::stop();
     $test->addToAssertionCount(PHPUnit_Framework_Assert::getCount());
     if ($this->strictMode && $test->getNumAssertions() == 0) {
         $incomplete = TRUE;
     }
     if ($useXdebug) {
         try {
             $this->codeCoverage->stop(!$incomplete && !$skipped);
         } catch (PHP_CodeCoverage_Exception $cce) {
             $error = TRUE;
             if (!isset($e)) {
                 $e = $cce;
             }
         }
     }
     if ($errorHandlerSet === TRUE) {
         restore_error_handler();
     }
     if ($error === TRUE) {
         $this->addError($test, $e, $time);
     } else {
         if ($failure === TRUE) {
             $this->addFailure($test, $e, $time);
         } else {
             if ($this->strictMode && $test->getNumAssertions() == 0) {
                 $this->addFailure($test, new PHPUnit_Framework_IncompleteTestError('This test did not perform any assertions'), $time);
             } else {
                 if ($this->strictMode && $test->hasOutput()) {
                     $this->addFailure($test, new PHPUnit_Framework_OutputError(sprintf('This test printed output: %s', $test->getActualOutput())), $time);
                 }
             }
         }
//.........这里部分代码省略.........
开发者ID:qube81,项目名称:old-phpunit,代码行数:101,代码来源:TestResult.php

示例5: generateConstructorCode

 protected function generateConstructorCode(ReflectionClass $class)
 {
     $arguments = '';
     $constructor = $class->getConstructor();
     if ($constructor !== NULL) {
         $constructorName = $constructor->getName();
         foreach (PHPUnit_Util_Class::getHierarchy($class->getName(), TRUE) as $_class) {
             foreach ($_class->getInterfaces() as $interface) {
                 if ($interface->hasMethod($constructorName)) {
                     $arguments = PHPUnit_Util_Class::getMethodParameters($constructor);
                     break 2;
                 }
             }
         }
     }
     return sprintf("    public function __construct(%s) {\n" . "        \$this->invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker(\$this);\n" . "    }\n\n", $arguments);
 }
开发者ID:cjmi,项目名称:miniblog,代码行数:17,代码来源:Mock.php


注:本文中的PHPUnit_Util_Class::getHierarchy方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。