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


PHP Inspector::executable方法代码示例

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


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

示例1: analyze

 /**
  * Analyzes code coverage results collected from XDebug, and performs coverage density analysis.
  *
  * @param object $report The report instance running this filter and aggregating results
  * @param array $classes A list of classes to analyze coverage on. By default, gets all
  *              defined subclasses of lithium\test\Unit which are currently in memory.
  * @return array|void Returns an array indexed by file and line, showing the number of
  *                    instances each line was called.
  */
 public static function analyze($report, array $classes = array())
 {
     $data = static::collect($report->results['filters'][__CLASS__]);
     $classes = $classes ?: array_filter(get_declared_classes(), function ($class) use($data) {
         $unit = 'lithium\\test\\Unit';
         return !is_subclass_of($class, $unit) || array_key_exists($class, $data);
     });
     $classes = array_values(array_intersect((array) $classes, array_keys($data)));
     $densities = $result = array();
     foreach ($classes as $class) {
         $classMap = array($class => Libraries::path($class));
         $densities += static::_density($data[$class], $classMap);
     }
     $executableLines = array();
     if (!empty($classes)) {
         $executableLines = array_combine($classes, array_map(function ($cls) {
             return Inspector::executable($cls, array('public' => false));
         }, $classes));
     }
     foreach ($densities as $class => $density) {
         $executable = $executableLines[$class];
         $covered = array_intersect(array_keys($density), $executable);
         $uncovered = array_diff($executable, $covered);
         $percentage = round(count($covered) / (count($executable) ?: 1), 4) * 100;
         $result[$class] = compact('class', 'executable', 'covered', 'uncovered', 'percentage');
     }
     $result = static::collectLines($result);
     return $result;
 }
开发者ID:EHER,项目名称:chegamos,代码行数:38,代码来源:Coverage.php

示例2: testExecutableLines

 /**
  * Gets the executable line numbers of this file based on a manual entry of line ranges. Will
  * need to be updated manually if this method changes.
  *
  * @return void
  */
 public function testExecutableLines()
 {
     do {
         // These lines should be ignored
     } while (false);
     $result = Inspector::executable($this, array('methods' => __FUNCTION__));
     $expected = array(__LINE__ - 1, __LINE__, __LINE__ + 1);
     $this->assertEqual($expected, $result);
 }
开发者ID:WarToaster,项目名称:HangOn,代码行数:15,代码来源:InspectorTest.php

示例3: testExecutableLinesOnEmptyClass

 public function testExecutableLinesOnEmptyClass()
 {
     $result = Inspector::executable(new MockEmptyClass());
     $this->assertEqual(array(), $result);
 }
开发者ID:fedeisas,项目名称:lithium,代码行数:5,代码来源:InspectorTest.php


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