diff --git a/.travis.yml b/.travis.yml index 605785e..fb7ec6d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,12 +10,21 @@ matrix: allow_failures: - php: hhvm -script: vendor/bin/tester tests -s -c tests/php-unix.ini +script: + - vendor/bin/tester tests -s -p php + - php code-checker/src/code-checker.php after_failure: # Print *.actual content - for i in $(find tests -name \*.actual); do echo "--- $i"; cat $i; echo; echo; done before_script: - # Install Nette Tester - - composer install --no-interaction --dev --prefer-source + # Install Nette Tester & Code Checker + - travis_retry composer install --no-interaction --prefer-dist + - travis_retry composer create-project nette/code-checker code-checker ~2.5 --no-interaction + +sudo: false + +cache: + directories: + - $HOME/.composer/cache diff --git a/contributing.md b/contributing.md new file mode 100644 index 0000000..a1cbbd5 --- /dev/null +++ b/contributing.md @@ -0,0 +1,27 @@ +How to contribute & use the issue tracker +========================================= + +The issue tracker is the preferred channel for bug reports, features requests +and submitting pull requests, but please respect the following restrictions: + +* Please **do not** use the issue tracker for personal support requests (use + [Nette forum](http://forum.nette.org) or [Stack Overflow](http://stackoverflow.com)). + +* Please **do not** derail or troll issues. Keep the discussion on topic and + respect the opinions of others. + +* Use the GitHub **issue search** — check if the issue has already been + reported. + +A good **bug report** shouldn't leave others needing to chase you up for more +information. Please try to be as detailed as possible in your report. + +**Feature requests** are welcome. But take a moment to find out whether your idea +fits with the scope and aims of the project. It's up to *you* to make a strong +case to convince the project's developers of the merits of this feature. + +Nette welcomes **pull requests**. If you'd like to contribute, please take a moment +to [read the guidelines](http://nette.org/en/contributing) in order to make +the contribution process easy and effective for everyone involved. + +Thanks! diff --git a/src/RobotLoader/RobotLoader.php b/src/RobotLoader/RobotLoader.php index 4cb1f00..2b46d9d 100644 --- a/src/RobotLoader/RobotLoader.php +++ b/src/RobotLoader/RobotLoader.php @@ -7,8 +7,8 @@ namespace Nette\Loaders; -use Nette, - Nette\Caching\Cache; +use Nette; +use Nette\Caching\Cache; /** @@ -51,7 +51,7 @@ class RobotLoader extends Nette\Object public function __construct() { if (!extension_loaded('tokenizer')) { - throw new Nette\NotSupportedException("PHP extension Tokenizer is not loaded."); + throw new Nette\NotSupportedException('PHP extension Tokenizer is not loaded.'); } } @@ -101,7 +101,7 @@ public function tryLoad($type) } if (isset($this->classes[$type]['file'])) { - call_user_func(function($file) { require $file; }, $this->classes[$type]['file']); + call_user_func(function ($file) { require $file; }, $this->classes[$type]['file']); } else { $this->missing[$type] = TRUE; } @@ -211,12 +211,12 @@ private function createFileIterator($dir) } $iterator = Nette\Utils\Finder::findFiles(is_array($this->acceptFiles) ? $this->acceptFiles : preg_split('#[,\s]+#', $this->acceptFiles)) - ->filter(function($file) use (& $disallow) { + ->filter(function ($file) use (& $disallow) { return !isset($disallow[$file->getPathname()]); }) ->from($dir) ->exclude($ignoreDirs) - ->filter($filter = function($dir) use (& $disallow) { + ->filter($filter = function ($dir) use (& $disallow) { $path = $dir->getPathname(); if (is_file("$path/netterobots.txt")) { foreach (file("$path/netterobots.txt") as $s) { diff --git a/tests/Loaders/RobotLoader.phpt b/tests/Loaders/RobotLoader.phpt index f19c69d..dde70c1 100644 --- a/tests/Loaders/RobotLoader.phpt +++ b/tests/Loaders/RobotLoader.phpt @@ -4,9 +4,9 @@ * Test: Nette\Loaders\RobotLoader basic usage. */ -use Nette\Loaders\RobotLoader, - Nette\Caching\Storages\DevNullStorage, - Tester\Assert; +use Nette\Loaders\RobotLoader; +use Nette\Caching\Storages\DevNullStorage; +use Tester\Assert; require __DIR__ . '/../bootstrap.php'; @@ -18,24 +18,28 @@ $loader->addDirectory(__DIR__ . '/files'); $loader->addDirectory(__DIR__ . '/files/'); // purposely doubled $loader->addDirectory(__DIR__ . '/file/interface.php'); // as file $loader->addDirectory(__DIR__ . '/file/class.const.php'); -if (PHP_VERSION_ID >= 50400) $loader->addDirectory(__DIR__ . '/file/trait.php'); +if (PHP_VERSION_ID >= 50400) { + $loader->addDirectory(__DIR__ . '/file/trait.php'); +} $loader->addDirectory(__DIR__ . '/files.robots'); $loader->register(); -Assert::false( class_exists('ConditionalClass') ); // files/conditional.class.php -Assert::true( interface_exists('TestInterface') ); // file/interface.php -if (PHP_VERSION_ID >= 50400) Assert::true( trait_exists('TestTrait') ); // file/trait.php - -Assert::true( class_exists('TestClass') ); // files/namespaces1.php -Assert::true( class_exists('MySpace1\TestClass1') ); // files/namespaces1.php -Assert::true( class_exists('MySpace2\TestClass2') ); // files/namespaces2.php -Assert::true( class_exists('MySpace3\TestClass3') ); // files/namespaces2.php - -Assert::false( class_exists('Disallowed1') ); // files.robots\disallowed1\class.php -Assert::false( class_exists('Disallowed2') ); // files.robots\disallowed2\class.php -Assert::false( class_exists('Disallowed3') ); // files.robots\subdir\class.php -Assert::true( class_exists('Allowed1') ); // files.robots\subdir\allowed.php -Assert::false( class_exists('Disallowed4') ); // files.robots\subdir\disallowed4\class.php -Assert::false( class_exists('Disallowed5') ); // files.robots\subdir\subdir2\disallowed5\class.php -Assert::false( class_exists('Disallowed6') ); // files.robots\subdir\subdir2\class.php -Assert::true( class_exists('Allowed2') ); // files.robots\subdir\subdir2\allowed.php +Assert::false(class_exists('ConditionalClass')); // files/conditional.class.php +Assert::true(interface_exists('TestInterface')); // file/interface.php +if (PHP_VERSION_ID >= 50400) { + Assert::true(trait_exists('TestTrait')); +} // file/trait.php + +Assert::true(class_exists('TestClass')); // files/namespaces1.php +Assert::true(class_exists('MySpace1\TestClass1')); // files/namespaces1.php +Assert::true(class_exists('MySpace2\TestClass2')); // files/namespaces2.php +Assert::true(class_exists('MySpace3\TestClass3')); // files/namespaces2.php + +Assert::false(class_exists('Disallowed1')); // files.robots\disallowed1\class.php +Assert::false(class_exists('Disallowed2')); // files.robots\disallowed2\class.php +Assert::false(class_exists('Disallowed3')); // files.robots\subdir\class.php +Assert::true(class_exists('Allowed1')); // files.robots\subdir\allowed.php +Assert::false(class_exists('Disallowed4')); // files.robots\subdir\disallowed4\class.php +Assert::false(class_exists('Disallowed5')); // files.robots\subdir\subdir2\disallowed5\class.php +Assert::false(class_exists('Disallowed6')); // files.robots\subdir\subdir2\class.php +Assert::true(class_exists('Allowed2')); // files.robots\subdir\subdir2\allowed.php diff --git a/tests/Loaders/RobotLoader.rebuild.phpt b/tests/Loaders/RobotLoader.rebuild.phpt index 4050d67..0a35340 100644 --- a/tests/Loaders/RobotLoader.rebuild.phpt +++ b/tests/Loaders/RobotLoader.rebuild.phpt @@ -4,9 +4,9 @@ * Test: Nette\Loaders\RobotLoader rebuild only once. */ -use Nette\Loaders\RobotLoader, - Nette\Caching\Storages\DevNullStorage, - Tester\Assert; +use Nette\Loaders\RobotLoader; +use Nette\Caching\Storages\DevNullStorage; +use Tester\Assert; require __DIR__ . '/../bootstrap.php'; @@ -26,4 +26,4 @@ $a = new A; rename(TEMP_DIR . '/file2.php', TEMP_DIR . '/file4.php'); -Assert::false( class_exists('B') ); +Assert::false(class_exists('B')); diff --git a/tests/Loaders/RobotLoader.renamed.phpt b/tests/Loaders/RobotLoader.renamed.phpt index dac9cbb..a7c3cd7 100644 --- a/tests/Loaders/RobotLoader.renamed.phpt +++ b/tests/Loaders/RobotLoader.renamed.phpt @@ -4,9 +4,9 @@ * Test: Nette\Loaders\RobotLoader and renamed classes. */ -use Nette\Loaders\RobotLoader, - Nette\Caching\Storages\DevNullStorage, - Tester\Assert; +use Nette\Loaders\RobotLoader; +use Nette\Caching\Storages\DevNullStorage; +use Tester\Assert; require __DIR__ . '/../bootstrap.php'; diff --git a/tests/php-unix.ini b/tests/php-unix.ini deleted file mode 100644 index 8ee1696..0000000 --- a/tests/php-unix.ini +++ /dev/null @@ -1,6 +0,0 @@ -[PHP] -;extension_dir = "./ext" -extension=json.so - -[Zend] -;zend_extension="./ext/zend_extension" diff --git a/tests/php-win.ini b/tests/php-win.ini deleted file mode 100644 index 6705582..0000000 --- a/tests/php-win.ini +++ /dev/null @@ -1,6 +0,0 @@ -[PHP] -extension_dir = "./ext" -extension=php_mbstring.dll - -[Zend] -;zend_extension="./ext/php_xdebug-2.0.5-5.3-vc6.dll"