diff --git a/.gitattributes b/.gitattributes index 44ad9edd..5b6b4f25 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,6 +6,7 @@ /.gitignore export-ignore /.travis.yml export-ignore /phpstan.neon.dist export-ignore +/phpstan.tests.neon.dist export-ignore /phpunit.xml.dist export-ignore /README.md export-ignore /UPGRADING.md export-ignore diff --git a/.gitignore b/.gitignore index 7ae55bb3..5081dd65 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ composer.lock phpstan.neon +phpstan.tests.neon phpunit.xml vendor diff --git a/.travis.yml b/.travis.yml index 3730b209..8062ee4e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -41,4 +41,6 @@ matrix: install: - travis_retry docker run -it -w /data -v ${PWD}:/data:delegated --entrypoint composer registry.gitlab.com/grahamcampbell/php:7.4 install --no-suggest --prefer-dist -n -o - travis_retry docker run -it -w /data -v ${PWD}:/data:delegated --entrypoint composer registry.gitlab.com/grahamcampbell/php:7.4 bin phpstan install --no-suggest --prefer-dist -n -o - script: docker run -it -w /data -v ${PWD}:/data:delegated --entrypoint vendor/bin/phpstan registry.gitlab.com/grahamcampbell/php:7.4 analyse src + script: + - docker run -it -w /data -v ${PWD}:/data:delegated --entrypoint vendor/bin/phpstan registry.gitlab.com/grahamcampbell/php:7.4 analyse src + - docker run -it -w /data -v ${PWD}:/data:delegated --entrypoint vendor/bin/phpstan registry.gitlab.com/grahamcampbell/php:7.4 analyse tests -c phpstan.tests.neon.dist diff --git a/composer.json b/composer.json index ab29a9bc..2fa9e829 100644 --- a/composer.json +++ b/composer.json @@ -17,7 +17,7 @@ ], "require": { "php": "^5.5.9 || ^7.0", - "phpoption/phpoption": "^1.7", + "phpoption/phpoption": "^1.7.1", "symfony/polyfill-ctype": "^1.9" }, "require-dev": { @@ -29,6 +29,11 @@ "Dotenv\\": "src/" } }, + "autoload-dev": { + "psr-4": { + "Dotenv\\Tests\\": "tests/Dotenv/" + } + }, "extra": { "branch-alias": { "dev-master": "4.1-dev" diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 1c44e85a..25ec083d 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -10,3 +10,7 @@ parameters: - '#Method Dotenv\\Loader\\Lines::getCharPairs\(\) should return array\(array\(string, string\|null\)\) but returns array\.#' - '#Unable to resolve the template type S in call to method PhpOption\\Option::flatMap\(\)#' - '#Method Dotenv\\Loader\\Parser::processChar\(\) should return Dotenv\\Result\\Result, string> but returns Dotenv\\Result\\Result, mixed>.#' + - '#Parameter \#1 \$callable of method PhpOption\\Option::map\(\) expects callable\(Dotenv\\Loader\\Value\|null\): mixed, Closure\(Dotenv\\Loader\\Value\): mixed given.#' + - '#Parameter \#1 \$callable of method PhpOption\\Option::[a-z]+\(\) expects callable\(array\|null\): [a-z]+, Closure\(array\): mixed given.#' + - '#Method Dotenv\\Repository\\Adapter\\PutenvAdapter::get\(\) should return PhpOption\\Option but returns PhpOption\\Option.#' + - '#Method Dotenv\\Store\\File\\Reader::readFromFile\(\) should return PhpOption\\Option but returns PhpOption\\Option.#' diff --git a/phpstan.tests.neon.dist b/phpstan.tests.neon.dist new file mode 100644 index 00000000..6318d011 --- /dev/null +++ b/phpstan.tests.neon.dist @@ -0,0 +1,4 @@ +parameters: + level: 5 + ignoreErrors: + - '#Parameter \#1 \$name of method Dotenv\\Repository\\RepositoryInterface::[a-z]+\(\) expects string, [a-z]+ given.#' diff --git a/tests/Dotenv/DotenvTest.php b/tests/Dotenv/DotenvTest.php index 9f239032..4cdb5902 100644 --- a/tests/Dotenv/DotenvTest.php +++ b/tests/Dotenv/DotenvTest.php @@ -1,5 +1,7 @@