<?php /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License.
*/
// keep BC with PHPUnit versions < 6 if (!class_exists('PHPUnit_Framework_TestSuite')) { class PHPUnit_Framework_TestSuite extends PHPUnit\Framework\TestSuite {}
}
/** * Generic test suite containing tests based on the provided CLI parameters, * see {@link NetBeansSuite::toRun()} for more information. * * For directory:<br/> * Recursively scans the test-directory and it's * sub-directories. All found unit-tests will be * added and executed. * * For file:<br/> * Just the file is added. * * To run this suite from CLI: phpunit NetBeansSuite.php --run=<file-or-directory> * * <b>WARNING: User changes to this file should be avoided.</b> * * @package NetBeans
*/ class NetBeansSuite extends PHPUnit_Framework_TestSuite { /** * The name of the environment variable containing the file or directory to be run by PHPUnit. * @see toRun()
*/ const ENV_RUN = "NB_PHPUNIT_RUN";
/** * Suite factory. * * This function creates a PHPUnit test-suite, * scans the directory for test-cases, * adds all test-cases found and then returns * a test-suite containing all available tests. * * @access public * @static * @return NetBeansSuite
*/ publicstaticfunction suite() {
$suite = new NetBeansSuite(); foreach (self::toRun() as $file) {
$suite->addTestFile($file);
} return $suite;
}
/** * Tries to find {@link #ENV_RUN) in environment variables and returns array of files to be run by PHPUnit * or throws Exception if no such variable found or directory/file does not exist. * * @access private * @static * * @return array an array of files to be run by PHPUnit * @see ENV_RUN
*/ privatestaticfunction toRun() {
$run = getenv(self::ENV_RUN); if ($run === null) {
throw new Exception(sprintf("No environment variable to run (%s) found.", self::ENV_RUN));
}
$result = array(); foreach (explode(";", $run) as $part) { if (is_dir($part)) {
$result = array_merge($result, self::rglob("*[Tt]est.php", $part.DIRECTORY_SEPARATOR));
} elseif (is_file($part)) {
$result[] = $part;
} else {
throw new Exception(sprintf("Argument '%s' neither file nor directory.", $part));
}
} return $result;
}
/** * Recursive {@link http://php.net/manual/en/function.glob.php glob()}. * * @access private * @static * * @param string $pattern the pattern passed to glob(), default is "*" * @param string $path the path to scan, default is * {@link http://php.net/manual/en/function.getcwd.php the current working directory} * @param int $flags the flags passed to glob() * @return array an array of files in the given path matching the pattern. * @link http://php.net/manual/en/function.glob.php * @link http://php.net/manual/en/function.getcwd.php
*/ privatestaticfunction rglob($pattern = '*', $path = '', $flags = 0) {
$paths = glob($path.'*', GLOB_MARK | GLOB_ONLYDIR | GLOB_NOSORT) orarray();
$files = glob($path.$pattern, $flags) orarray(); foreach ($paths as $path) {
$files = array_merge($files, self::rglob($pattern, $path, $flags));
} return $files;
}
}
?>
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.21 Sekunden
(vorverarbeitet am 2026-04-25)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.