diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index b76ddf1c..0d0bbe8e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -17,6 +17,7 @@ jobs: - '8.1' - '8.2' - '8.3' + - '8.4' symfony-versions: - false - '6.4.*' diff --git a/.github/workflows/static-analysis.yaml b/.github/workflows/static-analysis.yaml index 09b54990..798b2fc9 100644 --- a/.github/workflows/static-analysis.yaml +++ b/.github/workflows/static-analysis.yaml @@ -7,6 +7,9 @@ on: schedule: - cron: '45 4 1 * *' +env: + PHP_CS_FIXER_IGNORE_ENV: 1 + jobs: php-cs-fixer: name: PHP-CS-Fixer @@ -18,7 +21,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.3' + php-version: '8.4' - name: Install dependencies run: composer install --no-progress --no-interaction --prefer-dist @@ -39,7 +42,7 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.3' + php-version: '8.4' - name: Install dependencies run: composer install --no-progress --no-interaction --prefer-dist diff --git a/composer.json b/composer.json index 425d4df1..da7e4385 100644 --- a/composer.json +++ b/composer.json @@ -31,7 +31,7 @@ "bamarni/composer-bin-plugin": "^1.8.1", "phpspec/prophecy": "^1.6", "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.3", + "phpunit/phpunit": "^9.3 || ^11.0", "symfony/config": "^6.4 || ^7.0", "symfony/dependency-injection": "^6.4 || ^7.0", "symfony/finder": "^6.4 || ^7.0", diff --git a/src/FixtureBuilder/Denormalizer/FlagParser/ElementFlagParser.php b/src/FixtureBuilder/Denormalizer/FlagParser/ElementFlagParser.php index d916bd46..d1f792ec 100644 --- a/src/FixtureBuilder/Denormalizer/FlagParser/ElementFlagParser.php +++ b/src/FixtureBuilder/Denormalizer/FlagParser/ElementFlagParser.php @@ -47,7 +47,7 @@ public function parse(string $element): FlagBag $stringFlags = preg_split('/\s*,\s*/', $matches['stringFlags']); foreach ($stringFlags as $stringFlag) { $flags = $flags->mergeWith( - $this->parser->parse(trim($stringFlag)), + $this->parser->parse(mb_trim($stringFlag)), ); } diff --git a/src/FixtureBuilder/ExpressionLanguage/Lexer/StringThenReferenceLexer.php b/src/FixtureBuilder/ExpressionLanguage/Lexer/StringThenReferenceLexer.php index 2034322d..14a122fa 100644 --- a/src/FixtureBuilder/ExpressionLanguage/Lexer/StringThenReferenceLexer.php +++ b/src/FixtureBuilder/ExpressionLanguage/Lexer/StringThenReferenceLexer.php @@ -50,7 +50,7 @@ public function lex(string $value): array if (TokenType::STRING_TYPE === $token->getType() && TokenType::SIMPLE_REFERENCE_TYPE === $nextToken->getType() - && '' !== trim($token->getValue()) + && '' !== mb_trim($token->getValue()) && !in_array(mb_substr($token->getValue(), -1), [' ', '\''], true) ) { array_splice($tokens, $idx, 2, [ diff --git a/src/FixtureBuilder/ExpressionLanguage/Parser/SimpleParser.php b/src/FixtureBuilder/ExpressionLanguage/Parser/SimpleParser.php index d8396681..49170abd 100644 --- a/src/FixtureBuilder/ExpressionLanguage/Parser/SimpleParser.php +++ b/src/FixtureBuilder/ExpressionLanguage/Parser/SimpleParser.php @@ -59,12 +59,12 @@ public function parse(string $value) if (count($parsedTokens) > 1) { $first = reset($parsedTokens); - if (is_string($first) && '' === trim($first)) { + if (is_string($first) && '' === mb_trim($first)) { array_shift($parsedTokens); } $last = end($parsedTokens); - if (is_string($last) && '' === trim($last)) { + if (is_string($last) && '' === mb_trim($last)) { array_pop($parsedTokens); } } diff --git a/src/FixtureBuilder/ExpressionLanguage/Parser/TokenParser/Chainable/FunctionTokenParser.php b/src/FixtureBuilder/ExpressionLanguage/Parser/TokenParser/Chainable/FunctionTokenParser.php index d3152f99..be617906 100644 --- a/src/FixtureBuilder/ExpressionLanguage/Parser/TokenParser/Chainable/FunctionTokenParser.php +++ b/src/FixtureBuilder/ExpressionLanguage/Parser/TokenParser/Chainable/FunctionTokenParser.php @@ -93,7 +93,7 @@ public function parse(Token $token): FunctionCallValue } elseif ('current' === $function) { $arguments = [new ValueForCurrentValue()]; } else { - $arguments = $this->parseArguments($this->parser, trim($matches['arguments'])); + $arguments = $this->parseArguments($this->parser, mb_trim($matches['arguments'])); } return new FunctionCallValue($function, $arguments); diff --git a/src/FixtureBuilder/ExpressionLanguage/Parser/TokenParser/Chainable/OptionalTokenParser.php b/src/FixtureBuilder/ExpressionLanguage/Parser/TokenParser/Chainable/OptionalTokenParser.php index e0b63a9d..5de14056 100644 --- a/src/FixtureBuilder/ExpressionLanguage/Parser/TokenParser/Chainable/OptionalTokenParser.php +++ b/src/FixtureBuilder/ExpressionLanguage/Parser/TokenParser/Chainable/OptionalTokenParser.php @@ -49,7 +49,7 @@ public function parse(Token $token): OptionalValue return new OptionalValue( $this->parser->parse($matches['quantifier']), - $this->parser->parse(trim($matches['first_member'])), + $this->parser->parse(mb_trim($matches['first_member'])), array_key_exists('second_member', $matches) ? $this->parser->parse($matches['second_member']) : null, diff --git a/src/FixtureBuilder/ExpressionLanguage/Parser/TokenParser/Chainable/StringArrayTokenParser.php b/src/FixtureBuilder/ExpressionLanguage/Parser/TokenParser/Chainable/StringArrayTokenParser.php index 30054b65..cba69fb5 100644 --- a/src/FixtureBuilder/ExpressionLanguage/Parser/TokenParser/Chainable/StringArrayTokenParser.php +++ b/src/FixtureBuilder/ExpressionLanguage/Parser/TokenParser/Chainable/StringArrayTokenParser.php @@ -59,7 +59,7 @@ private function parseElements(ParserInterface $parser, string $elements) $elements = preg_split('/\s*,\s*/', $elements); foreach ($elements as $index => $argument) { - $elements[$index] = $parser->parse(trim($argument)); + $elements[$index] = $parser->parse(mb_trim($argument)); } return $elements; diff --git a/src/Throwable/Exception/Generator/Resolver/UnresolvableValueExceptionFactory.php b/src/Throwable/Exception/Generator/Resolver/UnresolvableValueExceptionFactory.php index 8af700cc..1404b1ba 100644 --- a/src/Throwable/Exception/Generator/Resolver/UnresolvableValueExceptionFactory.php +++ b/src/Throwable/Exception/Generator/Resolver/UnresolvableValueExceptionFactory.php @@ -24,7 +24,7 @@ final class UnresolvableValueExceptionFactory public static function create(ValueInterface $value, int $code = 0, ?Throwable $previous = null): UnresolvableValueException { return new UnresolvableValueException( - null === $previous || '' === trim($previous->getMessage()) + null === $previous || '' === mb_trim($previous->getMessage()) ? sprintf( 'Could not resolve value "%s".', $value, @@ -57,7 +57,7 @@ public static function createForInvalidReferenceId(ValueInterface $value, $resul public static function createForCouldNotEvaluateExpression(ValueInterface $value, int $code = 0, ?Throwable $previous = null): UnresolvableValueException { return new UnresolvableValueException( - null === $previous || '' === trim($previous->getMessage()) + null === $previous || '' === mb_trim($previous->getMessage()) ? sprintf( 'Could not evaluate the expression "%s".', $value->__toString(), diff --git a/vendor-bin/php-cs-fixer/composer.lock b/vendor-bin/php-cs-fixer/composer.lock index 796bbf05..9cd472d5 100644 --- a/vendor-bin/php-cs-fixer/composer.lock +++ b/vendor-bin/php-cs-fixer/composer.lock @@ -457,16 +457,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.66.1", + "version": "v3.68.0", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "cde186799d8e92960c5a00c96e6214bf7f5547a9" + "reference": "73f78d8b2b34a0dd65fedb434a602ee4c2c8ad4c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/cde186799d8e92960c5a00c96e6214bf7f5547a9", - "reference": "cde186799d8e92960c5a00c96e6214bf7f5547a9", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/73f78d8b2b34a0dd65fedb434a602ee4c2c8ad4c", + "reference": "73f78d8b2b34a0dd65fedb434a602ee4c2c8ad4c", "shasum": "" }, "require": { @@ -548,7 +548,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.66.1" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.68.0" }, "funding": [ { @@ -556,7 +556,7 @@ "type": "github" } ], - "time": "2025-01-05T14:43:25+00:00" + "time": "2025-01-13T17:01:01+00:00" }, { "name": "psr/container", @@ -2587,11 +2587,11 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, - "platform": [], - "platform-dev": [], + "platform": {}, + "platform-dev": {}, "platform-overrides": { "php": "8.3" },