| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php namespace thiagoalessio\TesseractOCR\Tests;
- require_once __DIR__.'/../vendor/autoload.php';
- if (in_array('unit', $argv)) {
- foreach(glob(__DIR__.'/Unit/*Test.php') as $file) require_once $file;
- foreach(glob(__DIR__.'/Unit/**/*Test.php') as $file) require_once $file;
- }
- if (in_array('e2e', $argv))
- foreach(glob(__DIR__.'/EndToEnd/*.php') as $file) require_once $file;
- // setting up code coverage
- if (extension_loaded('xdebug')) {
- if (class_exists('\PHP_CodeCoverage')) {
- $coverage = new \PHP_CodeCoverage;
- $coverage->filter()->addDirectoryToWhitelist('./src');
- } else {
- $filter = new \SebastianBergmann\CodeCoverage\Filter;
- $filter->includeDirectory('./src');
- $selector = new \SebastianBergmann\CodeCoverage\Driver\Selector;
- $coverage = new \SebastianBergmann\CodeCoverage\CodeCoverage(
- $selector->forLineCoverage($filter),
- $filter
- );
- }
- $coverage->start('tests');
- }
- // running tests
- $isTest = function($class) {
- return strstr($class, __NAMESPACE__) && !strstr($class, 'Common');
- };
- $tests = array_filter(get_declared_classes(), $isTest);
- $rc = 0;
- foreach ($tests as $test) {
- echo str_replace(__NAMESPACE__.'\\', '', $test), PHP_EOL;
- $testInstance = new $test;
- $results = $testInstance->run();
- foreach ($results as $name => $result) {
- switch ($result['status']) {
- case 'fail':
- $status = "\033[31m✕";
- break;
- case 'pass':
- $status = "\033[32m✓";
- break;
- case 'skip':
- $status = "\033[33m‖";
- break;
- }
- echo "\t{$status} {$name}\033[0m", PHP_EOL;
- if ($result['status'] == 'fail') {
- $rc++;
- echo "\033[35m{$result['msg']}\033[0m", PHP_EOL;
- }
- }
- echo PHP_EOL;
- }
- // saving coverage results
- if (isset($coverage)) {
- $coverage->stop();
- $reportClass = class_exists('\PHP_CodeCoverage_Report_Clover')
- ? '\PHP_CodeCoverage_Report_Clover'
- : '\SebastianBergmann\CodeCoverage\Report\Clover';
- $writer = new $reportClass;
- $writer->process($coverage, 'coverage.xml');
- // dev
- //$reportClass = class_exists('\PHP_CodeCoverage_Report_HTML')
- // ? '\PHP_CodeCoverage_Report_HTML'
- // : '\SebastianBergmann\CodeCoverage\Report\Html\Facade';
- //$writer = new $reportClass;
- //@$writer->process($coverage, 'coverage-report');
- }
- exit($rc);
|