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


PHP PHP_CodeSniffer::getTokenSniffs方法代码示例

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


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

示例1: runTest

 /**
  * Tests the extending classes Sniff class.
  *
  * @return void
  * @throws PHPUnit_Framework_Error
  */
 protected final function runTest()
 {
     // Skip this test if we can't run in this environment.
     if ($this->shouldSkipTest() === true) {
         $this->markTestSkipped();
     }
     // The basis for determining file locations.
     $basename = substr(get_class($this), 0, -8);
     // The name of the coding standard we are testing.
     $standardName = substr($basename, 0, strpos($basename, '_'));
     // The class name of the sniff we are testing.
     $sniffClass = str_replace('_Tests_', '_Sniffs_', $basename) . 'Sniff';
     if (is_file(dirname(__FILE__) . '/../../CodeSniffer.php') === true) {
         // We have not been installed.
         $standardsDir = realpath(dirname(__FILE__) . '/../../CodeSniffer/Standards');
         $testFileBase = $standardsDir . '/' . str_replace('_', '/', $basename) . 'UnitTest.';
     } else {
         // The name of the dummy file we are testing.
         $testFileBase = dirname(__FILE__) . '/' . str_replace('_', '/', $basename) . 'UnitTest.';
     }
     // Get a list of all test files to check. These will have the same base
     // name but different extensions. We ignore the .php file as it is the
     // class.
     $testFiles = array();
     $dir = substr($testFileBase, 0, strrpos($testFileBase, '/'));
     $di = new DirectoryIterator($dir);
     foreach ($di as $file) {
         $path = $file->getPathname();
         if (substr($path, 0, strlen($testFileBase)) === $testFileBase) {
             if ($path !== $testFileBase . 'php') {
                 $testFiles[] = $path;
             }
         }
     }
     // Get them in order. This is particularly important for multi-file sniffs.
     sort($testFiles);
     $failureMessages = array();
     $multiFileSniff = false;
     foreach ($testFiles as $testFile) {
         try {
             self::$phpcs->process($testFile, $standardName, array($sniffClass));
         } catch (Exception $e) {
             $this->fail('An unexpected exception has been caught: ' . $e->getMessage());
         }
         // After processing a file, check if the sniff was actually
         // a multi-file sniff (i.e., had no indivdual file sniffs).
         // If it is, we can skip checking of the other files and
         // do a single multi-file check.
         $sniffs = self::$phpcs->getTokenSniffs();
         if (empty($sniffs['file']) === true) {
             $multiFileSniff = true;
             break;
         }
         $files = self::$phpcs->getFiles();
         $file = array_pop($files);
         $failures = $this->generateFailureMessages($file, $testFile);
         $failureMessages = array_merge($failureMessages, $failures);
     }
     //end foreach
     if ($multiFileSniff === true) {
         try {
             self::$phpcs->process($testFiles, $standardName, array($sniffClass));
         } catch (Exception $e) {
             $this->fail('An unexpected exception has been caught: ' . $e->getMessage());
         }
         $files = self::$phpcs->getFiles();
         foreach ($files as $file) {
             $failures = $this->generateFailureMessages($file);
             $failureMessages = array_merge($failureMessages, $failures);
         }
     }
     if (empty($failureMessages) === false) {
         $this->fail(implode(PHP_EOL, $failureMessages));
     }
 }
开发者ID:resid,项目名称:PHP_CodeSniffer,代码行数:81,代码来源:AbstractSniffUnitTest.php

示例2: refreshTokenListeners

 /**
  * Rebuilds the list of listeners to ensure their state is cleared.
  *
  * @return void
  */
 public function refreshTokenListeners()
 {
     $this->phpcs->populateTokenListeners();
     $this->_listeners = $this->phpcs->getTokenSniffs();
 }
开发者ID:dereuromark,项目名称:cakephp-codesniffer,代码行数:10,代码来源:File.php

示例3: execute

 /**
  * @see sfTask
  */
 protected function execute($arguments = array(), $options = array())
 {
     // Call realpath() before constructing PHP_CodeSniffer because the
     // constructor changes our current working directory.  An argument handler
     // which sanitized user input would be nice:
     // http://trac.symfony-project.com/ticket/3486
     $arguments['path'] = realpath($arguments['path']);
     $phpcs = new PHP_CodeSniffer();
     $finder = new SvnFinder();
     foreach ($finder->in($arguments['path']) as $path) {
         $config = $this->getConfigForPath($path);
         if (!isset($config['code']['standard']) && !isset($config['preamble']) && !isset($config['props'])) {
             continue;
         }
         // HACK: It is not easy to modify a file's token listeners after it is
         // constructed, so construct a populated file if the code standard is
         // defined, and an empty file otherwise
         if (isset($config['code']['standard'])) {
             // HACK: PHP_CodeSniffer_File now expects an array of
             // PHP_CodeSniffer_Sniff instances, which
             // PHP_CodeSniffer::getTokenListeners() does not return
             $processPhpcs = new PHP_CodeSniffer();
             $processPhpcs->process(array(), $config['code']['standard']);
             $listeners = $processPhpcs->getTokenSniffs();
             $phpcsFile = new PHP_CodeSniffer_File($path, $listeners['file'], $phpcs->allowedFileExtensions);
             $phpcsFile->start();
         } else {
             $phpcsFile = new PHP_CodeSniffer_File($path, array(), $phpcs->allowedFileExtensions);
         }
         if (isset($config['preamble'])) {
         }
         if (isset($config['props'])) {
             $props = $this->getPropsFromPath($path);
             foreach ($props + $config['props'] as $key => $value) {
                 if (isset($props[$key]) && !isset($config['props'][$key])) {
                     $phpcsFile->addError('SVN property "' . $key . '" = "' . $props[$key] . '" found but not expected', 0);
                     continue;
                 }
                 if (!isset($props[$key]) && isset($config['props'][$key])) {
                     $phpcsFile->addError('SVN property "' . $key . '" = "' . $config['props'][$key] . '" expected but not found', 0);
                     continue;
                 }
                 if ($props[$key] != $config['props'][$key]) {
                     $phpcsFile->addError('SVN property "' . $key . '" = "' . $props[$key] . '" expected to match "' . $config['props'][$key] . '"', 0);
                 }
             }
         }
         $phpcs->addFile($phpcsFile);
     }
     $phpcs->printErrorReport();
 }
开发者ID:nurfiantara,项目名称:ehri-ica-atom,代码行数:54,代码来源:AuditTask.class.php


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