From: Tim Düsterhus Date: Wed, 27 Mar 2019 19:32:33 +0000 (+0100) Subject: Update composer dependencies X-Git-Tag: 5.2.0_Alpha_1~176^2~11 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=a07b5b673c8e46a7be14e2008dbf4608872ef74d;p=GitHub%2FWoltLab%2FWCF.git Update composer dependencies --- diff --git a/wcfsetup/install/files/lib/system/api/composer.lock b/wcfsetup/install/files/lib/system/api/composer.lock index 1c2dc3cb9e..a760827465 100644 --- a/wcfsetup/install/files/lib/system/api/composer.lock +++ b/wcfsetup/install/files/lib/system/api/composer.lock @@ -51,16 +51,16 @@ }, { "name": "erusev/parsedown", - "version": "1.7.1", + "version": "v1.7.2", "source": { "type": "git", "url": "https://github.com/erusev/parsedown.git", - "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1" + "reference": "d60bcdc46978357759ecb13cb4b078da783f8faf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", - "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/d60bcdc46978357759ecb13cb4b078da783f8faf", + "reference": "d60bcdc46978357759ecb13cb4b078da783f8faf", "shasum": "" }, "require": { @@ -93,7 +93,7 @@ "markdown", "parser" ], - "time": "2018-03-08T01:11:30+00:00" + "time": "2019-03-17T17:19:46+00:00" }, { "name": "ezyang/htmlpurifier", @@ -373,16 +373,16 @@ }, { "name": "symfony/css-selector", - "version": "v3.4.20", + "version": "v3.4.23", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "345b9a48595d1ab9630db791dbc3e721bf0233e8" + "reference": "8ca29297c29b64fb3a1a135e71cb25f67f9fdccf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/345b9a48595d1ab9630db791dbc3e721bf0233e8", - "reference": "345b9a48595d1ab9630db791dbc3e721bf0233e8", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/8ca29297c29b64fb3a1a135e71cb25f67f9fdccf", + "reference": "8ca29297c29b64fb3a1a135e71cb25f67f9fdccf", "shasum": "" }, "require": { @@ -422,20 +422,20 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2018-11-11T19:48:54+00:00" + "time": "2019-01-16T09:39:14+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.10.0", + "version": "v1.11.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", - "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609", + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609", "shasum": "" }, "require": { @@ -447,7 +447,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "autoload": { @@ -481,7 +481,7 @@ "portable", "shim" ], - "time": "2018-09-21T13:07:52+00:00" + "time": "2019-02-06T07:57:58+00:00" }, { "name": "true/punycode", diff --git a/wcfsetup/install/files/lib/system/api/composer/installed.json b/wcfsetup/install/files/lib/system/api/composer/installed.json index bbe6939c4a..dfe6121e26 100644 --- a/wcfsetup/install/files/lib/system/api/composer/installed.json +++ b/wcfsetup/install/files/lib/system/api/composer/installed.json @@ -46,17 +46,17 @@ }, { "name": "erusev/parsedown", - "version": "1.7.1", - "version_normalized": "1.7.1.0", + "version": "v1.7.2", + "version_normalized": "1.7.2.0", "source": { "type": "git", "url": "https://github.com/erusev/parsedown.git", - "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1" + "reference": "d60bcdc46978357759ecb13cb4b078da783f8faf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", - "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/d60bcdc46978357759ecb13cb4b078da783f8faf", + "reference": "d60bcdc46978357759ecb13cb4b078da783f8faf", "shasum": "" }, "require": { @@ -66,7 +66,7 @@ "require-dev": { "phpunit/phpunit": "^4.8.35" }, - "time": "2018-03-08T01:11:30+00:00", + "time": "2019-03-17T17:19:46+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -380,23 +380,23 @@ }, { "name": "symfony/css-selector", - "version": "v3.4.20", - "version_normalized": "3.4.20.0", + "version": "v3.4.23", + "version_normalized": "3.4.23.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "345b9a48595d1ab9630db791dbc3e721bf0233e8" + "reference": "8ca29297c29b64fb3a1a135e71cb25f67f9fdccf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/345b9a48595d1ab9630db791dbc3e721bf0233e8", - "reference": "345b9a48595d1ab9630db791dbc3e721bf0233e8", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/8ca29297c29b64fb3a1a135e71cb25f67f9fdccf", + "reference": "8ca29297c29b64fb3a1a135e71cb25f67f9fdccf", "shasum": "" }, "require": { "php": "^5.5.9|>=7.0.8" }, - "time": "2018-11-11T19:48:54+00:00", + "time": "2019-01-16T09:39:14+00:00", "type": "library", "extra": { "branch-alias": { @@ -435,17 +435,17 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.10.0", - "version_normalized": "1.10.0.0", + "version": "v1.11.0", + "version_normalized": "1.11.0.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "c79c051f5b3a46be09205c73b80b346e4153e494" + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/c79c051f5b3a46be09205c73b80b346e4153e494", - "reference": "c79c051f5b3a46be09205c73b80b346e4153e494", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fe5e94c604826c35a32fa832f35bd036b6799609", + "reference": "fe5e94c604826c35a32fa832f35bd036b6799609", "shasum": "" }, "require": { @@ -454,11 +454,11 @@ "suggest": { "ext-mbstring": "For best performance" }, - "time": "2018-09-21T13:07:52+00:00", + "time": "2019-02-06T07:57:58+00:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } }, "installation-source": "dist", diff --git a/wcfsetup/install/files/lib/system/api/erusev/parsedown/Parsedown.php b/wcfsetup/install/files/lib/system/api/erusev/parsedown/Parsedown.php index 87d612ab89..6843635cba 100644 --- a/wcfsetup/install/files/lib/system/api/erusev/parsedown/Parsedown.php +++ b/wcfsetup/install/files/lib/system/api/erusev/parsedown/Parsedown.php @@ -17,7 +17,7 @@ class Parsedown { # ~ - const version = '1.7.1'; + const version = '1.7.2'; # ~ @@ -429,7 +429,21 @@ class Parsedown if (isset($matches[1])) { - $class = 'language-'.$matches[1]; + /** + * https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#classes + * Every HTML element may have a class attribute specified. + * The attribute, if specified, must have a value that is a set + * of space-separated tokens representing the various classes + * that the element belongs to. + * [...] + * The space characters, for the purposes of this specification, + * are U+0020 SPACE, U+0009 CHARACTER TABULATION (tab), + * U+000A LINE FEED (LF), U+000C FORM FEED (FF), and + * U+000D CARRIAGE RETURN (CR). + */ + $language = substr($matches[1], 0, strcspn($matches[1], " \t\n\f\r")); + + $class = 'language-'.$language; $Element['attributes'] = array( 'class' => $class, diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/LICENSE b/wcfsetup/install/files/lib/system/api/symfony/css-selector/LICENSE index 21d7fb9e2f..a677f43763 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/LICENSE +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2004-2018 Fabien Potencier +Copyright (c) 2004-2019 Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Node/FunctionNode.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Node/FunctionNode.php index 50268255ce..677affaa98 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Node/FunctionNode.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Node/FunctionNode.php @@ -34,7 +34,7 @@ class FunctionNode extends AbstractNode * @param string $name * @param Token[] $arguments */ - public function __construct(NodeInterface $selector, $name, array $arguments = array()) + public function __construct(NodeInterface $selector, $name, array $arguments = []) { $this->selector = $selector; $this->name = strtolower($name); diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Handler/StringHandler.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Handler/StringHandler.php index 00155b0465..9869176b39 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Handler/StringHandler.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Handler/StringHandler.php @@ -47,7 +47,7 @@ class StringHandler implements HandlerInterface { $quote = $reader->getSubstring(1); - if (!\in_array($quote, array("'", '"'))) { + if (!\in_array($quote, ["'", '"'])) { return false; } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Parser.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Parser.php index 87c05a74b5..f07985ac52 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Parser.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Parser.php @@ -76,22 +76,22 @@ class Parser implements ParserInterface switch (true) { case 'odd' === $joined: - return array(2, 1); + return [2, 1]; case 'even' === $joined: - return array(2, 0); + return [2, 0]; case 'n' === $joined: - return array(1, 0); + return [1, 0]; case false === strpos($joined, 'n'): - return array(0, $int($joined)); + return [0, $int($joined)]; } $split = explode('n', $joined); $first = isset($split[0]) ? $split[0] : null; - return array( + return [ $first ? ('-' === $first || '+' === $first ? $int($first.'1') : $int($first)) : 1, isset($split[1]) && $split[1] ? $int($split[1]) : 0, - ); + ]; } /** @@ -102,12 +102,12 @@ class Parser implements ParserInterface private function parseSelectorList(TokenStream $stream) { $stream->skipWhitespace(); - $selectors = array(); + $selectors = []; while (true) { $selectors[] = $this->parserSelectorNode($stream); - if ($stream->getPeek()->isDelimiter(array(','))) { + if ($stream->getPeek()->isDelimiter([','])) { $stream->getNext(); $stream->skipWhitespace(); } else { @@ -133,7 +133,7 @@ class Parser implements ParserInterface $stream->skipWhitespace(); $peek = $stream->getPeek(); - if ($peek->isFileEnd() || $peek->isDelimiter(array(','))) { + if ($peek->isFileEnd() || $peek->isDelimiter([','])) { break; } @@ -141,7 +141,7 @@ class Parser implements ParserInterface throw SyntaxErrorException::pseudoElementFound($pseudoElement, 'not at the end of a selector'); } - if ($peek->isDelimiter(array('+', '>', '~'))) { + if ($peek->isDelimiter(['+', '>', '~'])) { $combinator = $stream->getNext()->getValue(); $stream->skipWhitespace(); } else { @@ -177,8 +177,8 @@ class Parser implements ParserInterface $peek = $stream->getPeek(); if ($peek->isWhitespace() || $peek->isFileEnd() - || $peek->isDelimiter(array(',', '+', '>', '~')) - || ($insideNegation && $peek->isDelimiter(array(')'))) + || $peek->isDelimiter([',', '+', '>', '~']) + || ($insideNegation && $peek->isDelimiter([')'])) ) { break; } @@ -189,16 +189,16 @@ class Parser implements ParserInterface if ($peek->isHash()) { $result = new Node\HashNode($result, $stream->getNext()->getValue()); - } elseif ($peek->isDelimiter(array('.'))) { + } elseif ($peek->isDelimiter(['.'])) { $stream->getNext(); $result = new Node\ClassNode($result, $stream->getNextIdentifier()); - } elseif ($peek->isDelimiter(array('['))) { + } elseif ($peek->isDelimiter(['['])) { $stream->getNext(); $result = $this->parseAttributeNode($result, $stream); - } elseif ($peek->isDelimiter(array(':'))) { + } elseif ($peek->isDelimiter([':'])) { $stream->getNext(); - if ($stream->getPeek()->isDelimiter(array(':'))) { + if ($stream->getPeek()->isDelimiter([':'])) { $stream->getNext(); $pseudoElement = $stream->getNextIdentifier(); @@ -206,7 +206,7 @@ class Parser implements ParserInterface } $identifier = $stream->getNextIdentifier(); - if (\in_array(strtolower($identifier), array('first-line', 'first-letter', 'before', 'after'))) { + if (\in_array(strtolower($identifier), ['first-line', 'first-letter', 'before', 'after'])) { // Special case: CSS 2.1 pseudo-elements can have a single ':'. // Any new pseudo-element must have two. $pseudoElement = $identifier; @@ -214,7 +214,7 @@ class Parser implements ParserInterface continue; } - if (!$stream->getPeek()->isDelimiter(array('('))) { + if (!$stream->getPeek()->isDelimiter(['('])) { $result = new Node\PseudoNode($result, $identifier); continue; @@ -235,13 +235,13 @@ class Parser implements ParserInterface throw SyntaxErrorException::pseudoElementFound($argumentPseudoElement, 'inside ::not()'); } - if (!$next->isDelimiter(array(')'))) { + if (!$next->isDelimiter([')'])) { throw SyntaxErrorException::unexpectedToken('")"', $next); } $result = new Node\NegationNode($result, $argument); } else { - $arguments = array(); + $arguments = []; $next = null; while (true) { @@ -251,10 +251,10 @@ class Parser implements ParserInterface if ($next->isIdentifier() || $next->isString() || $next->isNumber() - || $next->isDelimiter(array('+', '-')) + || $next->isDelimiter(['+', '-']) ) { $arguments[] = $next; - } elseif ($next->isDelimiter(array(')'))) { + } elseif ($next->isDelimiter([')'])) { break; } else { throw SyntaxErrorException::unexpectedToken('an argument', $next); @@ -276,7 +276,7 @@ class Parser implements ParserInterface throw SyntaxErrorException::unexpectedToken('selector', $stream->getPeek()); } - return array($result, $pseudoElement); + return [$result, $pseudoElement]; } /** @@ -288,7 +288,7 @@ class Parser implements ParserInterface { $peek = $stream->getPeek(); - if ($peek->isIdentifier() || $peek->isDelimiter(array('*'))) { + if ($peek->isIdentifier() || $peek->isDelimiter(['*'])) { if ($peek->isIdentifier()) { $namespace = $stream->getNext()->getValue(); } else { @@ -296,7 +296,7 @@ class Parser implements ParserInterface $namespace = null; } - if ($stream->getPeek()->isDelimiter(array('|'))) { + if ($stream->getPeek()->isDelimiter(['|'])) { $stream->getNext(); $element = $stream->getNextIdentifierOrStar(); } else { @@ -322,14 +322,14 @@ class Parser implements ParserInterface $stream->skipWhitespace(); $attribute = $stream->getNextIdentifierOrStar(); - if (null === $attribute && !$stream->getPeek()->isDelimiter(array('|'))) { + if (null === $attribute && !$stream->getPeek()->isDelimiter(['|'])) { throw SyntaxErrorException::unexpectedToken('"|"', $stream->getPeek()); } - if ($stream->getPeek()->isDelimiter(array('|'))) { + if ($stream->getPeek()->isDelimiter(['|'])) { $stream->getNext(); - if ($stream->getPeek()->isDelimiter(array('='))) { + if ($stream->getPeek()->isDelimiter(['='])) { $namespace = null; $stream->getNext(); $operator = '|='; @@ -346,12 +346,12 @@ class Parser implements ParserInterface $stream->skipWhitespace(); $next = $stream->getNext(); - if ($next->isDelimiter(array(']'))) { + if ($next->isDelimiter([']'])) { return new Node\AttributeNode($selector, $namespace, $attribute, 'exists', null); - } elseif ($next->isDelimiter(array('='))) { + } elseif ($next->isDelimiter(['='])) { $operator = '='; - } elseif ($next->isDelimiter(array('^', '$', '*', '~', '|', '!')) - && $stream->getPeek()->isDelimiter(array('=')) + } elseif ($next->isDelimiter(['^', '$', '*', '~', '|', '!']) + && $stream->getPeek()->isDelimiter(['=']) ) { $operator = $next->getValue().'='; $stream->getNext(); @@ -375,7 +375,7 @@ class Parser implements ParserInterface $stream->skipWhitespace(); $next = $stream->getNext(); - if (!$next->isDelimiter(array(']'))) { + if (!$next->isDelimiter([']'])) { throw SyntaxErrorException::unexpectedToken('"]"', $next); } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/ClassParser.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/ClassParser.php index c513de5ff1..3b92006231 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/ClassParser.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/ClassParser.php @@ -41,11 +41,11 @@ class ClassParser implements ParserInterface // 2 => string 'input' (length=5) // 3 => string 'ab6bd_field' (length=11) if (preg_match('/^(?:([a-z]++)\|)?+([\w-]++|\*)?+\.([\w-]++)$/i', trim($source), $matches)) { - return array( + return [ new SelectorNode(new ClassNode(new ElementNode($matches[1] ?: null, $matches[2] ?: null), $matches[3])), - ); + ]; } - return array(); + return []; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/ElementParser.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/ElementParser.php index c29f5e442e..392c6aabd1 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/ElementParser.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/ElementParser.php @@ -39,9 +39,9 @@ class ElementParser implements ParserInterface // 1 => string 'testns' (length=6) // 2 => string 'testel' (length=6) if (preg_match('/^(?:([a-z]++)\|)?([\w-]++|\*)$/i', trim($source), $matches)) { - return array(new SelectorNode(new ElementNode($matches[1] ?: null, $matches[2]))); + return [new SelectorNode(new ElementNode($matches[1] ?: null, $matches[2]))]; } - return array(); + return []; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php index 16d374af30..276b57405d 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php @@ -38,9 +38,9 @@ class EmptyStringParser implements ParserInterface { // Matches an empty string if ('' == $source) { - return array(new SelectorNode(new ElementNode(null, '*'))); + return [new SelectorNode(new ElementNode(null, '*'))]; } - return array(); + return []; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/HashParser.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/HashParser.php index 3f3883bb8d..0ffcb6deef 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/HashParser.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Shortcut/HashParser.php @@ -41,11 +41,11 @@ class HashParser implements ParserInterface // 2 => string 'input' (length=5) // 3 => string 'ab6bd_field' (length=11) if (preg_match('/^(?:([a-z]++)\|)?+([\w-]++|\*)?+#([\w-]++)$/i', trim($source), $matches)) { - return array( + return [ new SelectorNode(new HashNode(new ElementNode($matches[1] ?: null, $matches[2] ?: null), $matches[3])), - ); + ]; } - return array(); + return []; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Token.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Token.php index 72baae776d..d641da8656 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Token.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Token.php @@ -82,7 +82,7 @@ class Token /** * @return bool */ - public function isDelimiter(array $values = array()) + public function isDelimiter(array $values = []) { if (self::TYPE_DELIMITER !== $this->type) { return false; diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/TokenStream.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/TokenStream.php index d2aee541cd..843e330b52 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/TokenStream.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/TokenStream.php @@ -29,12 +29,12 @@ class TokenStream /** * @var Token[] */ - private $tokens = array(); + private $tokens = []; /** * @var Token[] */ - private $used = array(); + private $used = []; /** * @var int @@ -154,7 +154,7 @@ class TokenStream return $next->getValue(); } - if ($next->isDelimiter(array('*'))) { + if ($next->isDelimiter(['*'])) { return; } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Tokenizer/Tokenizer.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Tokenizer/Tokenizer.php index e32b4d20ce..fc65bc6846 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Tokenizer/Tokenizer.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Parser/Tokenizer/Tokenizer.php @@ -38,14 +38,14 @@ class Tokenizer $patterns = new TokenizerPatterns(); $escaping = new TokenizerEscaping($patterns); - $this->handlers = array( + $this->handlers = [ new Handler\WhitespaceHandler(), new Handler\IdentifierHandler($patterns, $escaping), new Handler\HashHandler($patterns, $escaping), new Handler\StringHandler($patterns, $escaping), new Handler\NumberHandler($patterns), new Handler\CommentHandler(), - ); + ]; } /** diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/CssSelectorConverterTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/CssSelectorConverterTest.php index a3eea7ad21..cd0fd785e5 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/CssSelectorConverterTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/CssSelectorConverterTest.php @@ -55,22 +55,22 @@ class CssSelectorConverterTest extends TestCase public function getCssToXPathWithoutPrefixTestData() { - return array( - array('h1', 'h1'), - array('foo|h1', 'foo:h1'), - array('h1, h2, h3', 'h1 | h2 | h3'), - array('h1:nth-child(3n+1)', "*/*[(name() = 'h1') and (position() - 1 >= 0 and (position() - 1) mod 3 = 0)]"), - array('h1 > p', 'h1/p'), - array('h1#foo', "h1[@id = 'foo']"), - array('h1.foo', "h1[@class and contains(concat(' ', normalize-space(@class), ' '), ' foo ')]"), - array('h1[class*="foo bar"]', "h1[@class and contains(@class, 'foo bar')]"), - array('h1[foo|class*="foo bar"]', "h1[@foo:class and contains(@foo:class, 'foo bar')]"), - array('h1[class]', 'h1[@class]'), - array('h1 .foo', "h1/descendant-or-self::*/*[@class and contains(concat(' ', normalize-space(@class), ' '), ' foo ')]"), - array('h1 #foo', "h1/descendant-or-self::*/*[@id = 'foo']"), - array('h1 [class*=foo]', "h1/descendant-or-self::*/*[@class and contains(@class, 'foo')]"), - array('div>.foo', "div/*[@class and contains(concat(' ', normalize-space(@class), ' '), ' foo ')]"), - array('div > .foo', "div/*[@class and contains(concat(' ', normalize-space(@class), ' '), ' foo ')]"), - ); + return [ + ['h1', 'h1'], + ['foo|h1', 'foo:h1'], + ['h1, h2, h3', 'h1 | h2 | h3'], + ['h1:nth-child(3n+1)', "*/*[(name() = 'h1') and (position() - 1 >= 0 and (position() - 1) mod 3 = 0)]"], + ['h1 > p', 'h1/p'], + ['h1#foo', "h1[@id = 'foo']"], + ['h1.foo', "h1[@class and contains(concat(' ', normalize-space(@class), ' '), ' foo ')]"], + ['h1[class*="foo bar"]', "h1[@class and contains(@class, 'foo bar')]"], + ['h1[foo|class*="foo bar"]', "h1[@foo:class and contains(@foo:class, 'foo bar')]"], + ['h1[class]', 'h1[@class]'], + ['h1 .foo', "h1/descendant-or-self::*/*[@class and contains(concat(' ', normalize-space(@class), ' '), ' foo ')]"], + ['h1 #foo', "h1/descendant-or-self::*/*[@id = 'foo']"], + ['h1 [class*=foo]', "h1/descendant-or-self::*/*[@class and contains(@class, 'foo')]"], + ['div>.foo', "div/*[@class and contains(concat(' ', normalize-space(@class), ' '), ' foo ')]"], + ['div > .foo', "div/*[@class and contains(concat(' ', normalize-space(@class), ' '), ' foo ')]"], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/AttributeNodeTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/AttributeNodeTest.php index 1fd090f5a6..4d60074061 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/AttributeNodeTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/AttributeNodeTest.php @@ -18,20 +18,20 @@ class AttributeNodeTest extends AbstractNodeTest { public function getToStringConversionTestData() { - return array( - array(new AttributeNode(new ElementNode(), null, 'attribute', 'exists', null), 'Attribute[Element[*][attribute]]'), - array(new AttributeNode(new ElementNode(), null, 'attribute', '$=', 'value'), "Attribute[Element[*][attribute $= 'value']]"), - array(new AttributeNode(new ElementNode(), 'namespace', 'attribute', '$=', 'value'), "Attribute[Element[*][namespace|attribute $= 'value']]"), - ); + return [ + [new AttributeNode(new ElementNode(), null, 'attribute', 'exists', null), 'Attribute[Element[*][attribute]]'], + [new AttributeNode(new ElementNode(), null, 'attribute', '$=', 'value'), "Attribute[Element[*][attribute $= 'value']]"], + [new AttributeNode(new ElementNode(), 'namespace', 'attribute', '$=', 'value'), "Attribute[Element[*][namespace|attribute $= 'value']]"], + ]; } public function getSpecificityValueTestData() { - return array( - array(new AttributeNode(new ElementNode(), null, 'attribute', 'exists', null), 10), - array(new AttributeNode(new ElementNode(null, 'element'), null, 'attribute', 'exists', null), 11), - array(new AttributeNode(new ElementNode(), null, 'attribute', '$=', 'value'), 10), - array(new AttributeNode(new ElementNode(), 'namespace', 'attribute', '$=', 'value'), 10), - ); + return [ + [new AttributeNode(new ElementNode(), null, 'attribute', 'exists', null), 10], + [new AttributeNode(new ElementNode(null, 'element'), null, 'attribute', 'exists', null), 11], + [new AttributeNode(new ElementNode(), null, 'attribute', '$=', 'value'), 10], + [new AttributeNode(new ElementNode(), 'namespace', 'attribute', '$=', 'value'), 10], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/ClassNodeTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/ClassNodeTest.php index e0ab45accc..aa80c92792 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/ClassNodeTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/ClassNodeTest.php @@ -18,16 +18,16 @@ class ClassNodeTest extends AbstractNodeTest { public function getToStringConversionTestData() { - return array( - array(new ClassNode(new ElementNode(), 'class'), 'Class[Element[*].class]'), - ); + return [ + [new ClassNode(new ElementNode(), 'class'), 'Class[Element[*].class]'], + ]; } public function getSpecificityValueTestData() { - return array( - array(new ClassNode(new ElementNode(), 'class'), 10), - array(new ClassNode(new ElementNode(null, 'element'), 'class'), 11), - ); + return [ + [new ClassNode(new ElementNode(), 'class'), 10], + [new ClassNode(new ElementNode(null, 'element'), 'class'), 11], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/CombinedSelectorNodeTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/CombinedSelectorNodeTest.php index 9547298a6f..435eaa6aa6 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/CombinedSelectorNodeTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/CombinedSelectorNodeTest.php @@ -18,18 +18,18 @@ class CombinedSelectorNodeTest extends AbstractNodeTest { public function getToStringConversionTestData() { - return array( - array(new CombinedSelectorNode(new ElementNode(), '>', new ElementNode()), 'CombinedSelector[Element[*] > Element[*]]'), - array(new CombinedSelectorNode(new ElementNode(), ' ', new ElementNode()), 'CombinedSelector[Element[*] Element[*]]'), - ); + return [ + [new CombinedSelectorNode(new ElementNode(), '>', new ElementNode()), 'CombinedSelector[Element[*] > Element[*]]'], + [new CombinedSelectorNode(new ElementNode(), ' ', new ElementNode()), 'CombinedSelector[Element[*] Element[*]]'], + ]; } public function getSpecificityValueTestData() { - return array( - array(new CombinedSelectorNode(new ElementNode(), '>', new ElementNode()), 0), - array(new CombinedSelectorNode(new ElementNode(null, 'element'), '>', new ElementNode()), 1), - array(new CombinedSelectorNode(new ElementNode(null, 'element'), '>', new ElementNode(null, 'element')), 2), - ); + return [ + [new CombinedSelectorNode(new ElementNode(), '>', new ElementNode()), 0], + [new CombinedSelectorNode(new ElementNode(null, 'element'), '>', new ElementNode()), 1], + [new CombinedSelectorNode(new ElementNode(null, 'element'), '>', new ElementNode(null, 'element')), 2], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/ElementNodeTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/ElementNodeTest.php index 6d24789320..e0797ff09c 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/ElementNodeTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/ElementNodeTest.php @@ -17,19 +17,19 @@ class ElementNodeTest extends AbstractNodeTest { public function getToStringConversionTestData() { - return array( - array(new ElementNode(), 'Element[*]'), - array(new ElementNode(null, 'element'), 'Element[element]'), - array(new ElementNode('namespace', 'element'), 'Element[namespace|element]'), - ); + return [ + [new ElementNode(), 'Element[*]'], + [new ElementNode(null, 'element'), 'Element[element]'], + [new ElementNode('namespace', 'element'), 'Element[namespace|element]'], + ]; } public function getSpecificityValueTestData() { - return array( - array(new ElementNode(), 0), - array(new ElementNode(null, 'element'), 1), - array(new ElementNode('namespace', 'element'), 1), - ); + return [ + [new ElementNode(), 0], + [new ElementNode(null, 'element'), 1], + [new ElementNode('namespace', 'element'), 1], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/FunctionNodeTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/FunctionNodeTest.php index ee3ce51ba5..0932393e1a 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/FunctionNodeTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/FunctionNodeTest.php @@ -19,29 +19,29 @@ class FunctionNodeTest extends AbstractNodeTest { public function getToStringConversionTestData() { - return array( - array(new FunctionNode(new ElementNode(), 'function'), 'Function[Element[*]:function()]'), - array(new FunctionNode(new ElementNode(), 'function', array( + return [ + [new FunctionNode(new ElementNode(), 'function'), 'Function[Element[*]:function()]'], + [new FunctionNode(new ElementNode(), 'function', [ new Token(Token::TYPE_IDENTIFIER, 'value', 0), - )), "Function[Element[*]:function(['value'])]"), - array(new FunctionNode(new ElementNode(), 'function', array( + ]), "Function[Element[*]:function(['value'])]"], + [new FunctionNode(new ElementNode(), 'function', [ new Token(Token::TYPE_STRING, 'value1', 0), new Token(Token::TYPE_NUMBER, 'value2', 0), - )), "Function[Element[*]:function(['value1', 'value2'])]"), - ); + ]), "Function[Element[*]:function(['value1', 'value2'])]"], + ]; } public function getSpecificityValueTestData() { - return array( - array(new FunctionNode(new ElementNode(), 'function'), 10), - array(new FunctionNode(new ElementNode(), 'function', array( + return [ + [new FunctionNode(new ElementNode(), 'function'), 10], + [new FunctionNode(new ElementNode(), 'function', [ new Token(Token::TYPE_IDENTIFIER, 'value', 0), - )), 10), - array(new FunctionNode(new ElementNode(), 'function', array( + ]), 10], + [new FunctionNode(new ElementNode(), 'function', [ new Token(Token::TYPE_STRING, 'value1', 0), new Token(Token::TYPE_NUMBER, 'value2', 0), - )), 10), - ); + ]), 10], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/HashNodeTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/HashNodeTest.php index 3bc74da945..ad6765b862 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/HashNodeTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/HashNodeTest.php @@ -18,16 +18,16 @@ class HashNodeTest extends AbstractNodeTest { public function getToStringConversionTestData() { - return array( - array(new HashNode(new ElementNode(), 'id'), 'Hash[Element[*]#id]'), - ); + return [ + [new HashNode(new ElementNode(), 'id'), 'Hash[Element[*]#id]'], + ]; } public function getSpecificityValueTestData() { - return array( - array(new HashNode(new ElementNode(), 'id'), 100), - array(new HashNode(new ElementNode(null, 'id'), 'class'), 101), - ); + return [ + [new HashNode(new ElementNode(), 'id'), 100], + [new HashNode(new ElementNode(null, 'id'), 'class'), 101], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/NegationNodeTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/NegationNodeTest.php index ed4d2482c3..90b684ceec 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/NegationNodeTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/NegationNodeTest.php @@ -19,15 +19,15 @@ class NegationNodeTest extends AbstractNodeTest { public function getToStringConversionTestData() { - return array( - array(new NegationNode(new ElementNode(), new ClassNode(new ElementNode(), 'class')), 'Negation[Element[*]:not(Class[Element[*].class])]'), - ); + return [ + [new NegationNode(new ElementNode(), new ClassNode(new ElementNode(), 'class')), 'Negation[Element[*]:not(Class[Element[*].class])]'], + ]; } public function getSpecificityValueTestData() { - return array( - array(new NegationNode(new ElementNode(), new ClassNode(new ElementNode(), 'class')), 10), - ); + return [ + [new NegationNode(new ElementNode(), new ClassNode(new ElementNode(), 'class')), 10], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/PseudoNodeTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/PseudoNodeTest.php index bc57813cc8..4e78776c02 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/PseudoNodeTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/PseudoNodeTest.php @@ -18,15 +18,15 @@ class PseudoNodeTest extends AbstractNodeTest { public function getToStringConversionTestData() { - return array( - array(new PseudoNode(new ElementNode(), 'pseudo'), 'Pseudo[Element[*]:pseudo]'), - ); + return [ + [new PseudoNode(new ElementNode(), 'pseudo'), 'Pseudo[Element[*]:pseudo]'], + ]; } public function getSpecificityValueTestData() { - return array( - array(new PseudoNode(new ElementNode(), 'pseudo'), 10), - ); + return [ + [new PseudoNode(new ElementNode(), 'pseudo'), 10], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/SelectorNodeTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/SelectorNodeTest.php index 5badf71d16..85e3bdac3f 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/SelectorNodeTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/SelectorNodeTest.php @@ -18,17 +18,17 @@ class SelectorNodeTest extends AbstractNodeTest { public function getToStringConversionTestData() { - return array( - array(new SelectorNode(new ElementNode()), 'Selector[Element[*]]'), - array(new SelectorNode(new ElementNode(), 'pseudo'), 'Selector[Element[*]::pseudo]'), - ); + return [ + [new SelectorNode(new ElementNode()), 'Selector[Element[*]]'], + [new SelectorNode(new ElementNode(), 'pseudo'), 'Selector[Element[*]::pseudo]'], + ]; } public function getSpecificityValueTestData() { - return array( - array(new SelectorNode(new ElementNode()), 0), - array(new SelectorNode(new ElementNode(), 'pseudo'), 1), - ); + return [ + [new SelectorNode(new ElementNode()), 0], + [new SelectorNode(new ElementNode(), 'pseudo'), 1], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/SpecificityTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/SpecificityTest.php index b58eb8929c..bf48d49ffd 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/SpecificityTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Node/SpecificityTest.php @@ -30,13 +30,13 @@ class SpecificityTest extends TestCase public function getValueTestData() { - return array( - array(new Specificity(0, 0, 0), 0), - array(new Specificity(0, 0, 2), 2), - array(new Specificity(0, 3, 0), 30), - array(new Specificity(4, 0, 0), 400), - array(new Specificity(4, 3, 2), 432), - ); + return [ + [new Specificity(0, 0, 0), 0], + [new Specificity(0, 0, 2), 2], + [new Specificity(0, 3, 0), 30], + [new Specificity(4, 0, 0), 400], + [new Specificity(4, 3, 2), 432], + ]; } /** @dataProvider getCompareTestData */ @@ -47,17 +47,17 @@ class SpecificityTest extends TestCase public function getCompareTestData() { - return array( - array(new Specificity(0, 0, 0), new Specificity(0, 0, 0), 0), - array(new Specificity(0, 0, 1), new Specificity(0, 0, 1), 0), - array(new Specificity(0, 0, 2), new Specificity(0, 0, 1), 1), - array(new Specificity(0, 0, 2), new Specificity(0, 0, 3), -1), - array(new Specificity(0, 4, 0), new Specificity(0, 4, 0), 0), - array(new Specificity(0, 6, 0), new Specificity(0, 5, 11), 1), - array(new Specificity(0, 7, 0), new Specificity(0, 8, 0), -1), - array(new Specificity(9, 0, 0), new Specificity(9, 0, 0), 0), - array(new Specificity(11, 0, 0), new Specificity(10, 11, 0), 1), - array(new Specificity(12, 11, 0), new Specificity(13, 0, 0), -1), - ); + return [ + [new Specificity(0, 0, 0), new Specificity(0, 0, 0), 0], + [new Specificity(0, 0, 1), new Specificity(0, 0, 1), 0], + [new Specificity(0, 0, 2), new Specificity(0, 0, 1), 1], + [new Specificity(0, 0, 2), new Specificity(0, 0, 3), -1], + [new Specificity(0, 4, 0), new Specificity(0, 4, 0), 0], + [new Specificity(0, 6, 0), new Specificity(0, 5, 11), 1], + [new Specificity(0, 7, 0), new Specificity(0, 8, 0), -1], + [new Specificity(9, 0, 0), new Specificity(9, 0, 0), 0], + [new Specificity(11, 0, 0), new Specificity(10, 11, 0), 1], + [new Specificity(12, 11, 0), new Specificity(13, 0, 0), -1], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/AbstractHandlerTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/AbstractHandlerTest.php index f5c9dc8bfe..aaed55c205 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/AbstractHandlerTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/AbstractHandlerTest.php @@ -54,7 +54,7 @@ abstract class AbstractHandlerTest extends TestCase $property = new \ReflectionProperty($stream, 'tokens'); $property->setAccessible(true); - $this->assertEquals(array(), $property->getValue($stream)); + $this->assertEquals([], $property->getValue($stream)); } protected function assertRemainingContent(Reader $reader, $remainingContent) diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/CommentHandlerTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/CommentHandlerTest.php index 3961bf7d55..de400478d8 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/CommentHandlerTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/CommentHandlerTest.php @@ -32,20 +32,20 @@ class CommentHandlerTest extends AbstractHandlerTest public function getHandleValueTestData() { - return array( + return [ // 2nd argument only exists for inherited method compatibility - array('/* comment */', new Token(null, null, null), ''), - array('/* comment */foo', new Token(null, null, null), 'foo'), - ); + ['/* comment */', new Token(null, null, null), ''], + ['/* comment */foo', new Token(null, null, null), 'foo'], + ]; } public function getDontHandleValueTestData() { - return array( - array('>'), - array('+'), - array(' '), - ); + return [ + ['>'], + ['+'], + [' '], + ]; } protected function generateHandler() diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/HashHandlerTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/HashHandlerTest.php index 5730120bf7..9444f5106f 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/HashHandlerTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/HashHandlerTest.php @@ -20,24 +20,24 @@ class HashHandlerTest extends AbstractHandlerTest { public function getHandleValueTestData() { - return array( - array('#id', new Token(Token::TYPE_HASH, 'id', 0), ''), - array('#123', new Token(Token::TYPE_HASH, '123', 0), ''), + return [ + ['#id', new Token(Token::TYPE_HASH, 'id', 0), ''], + ['#123', new Token(Token::TYPE_HASH, '123', 0), ''], - array('#id.class', new Token(Token::TYPE_HASH, 'id', 0), '.class'), - array('#id element', new Token(Token::TYPE_HASH, 'id', 0), ' element'), - ); + ['#id.class', new Token(Token::TYPE_HASH, 'id', 0), '.class'], + ['#id element', new Token(Token::TYPE_HASH, 'id', 0), ' element'], + ]; } public function getDontHandleValueTestData() { - return array( - array('id'), - array('123'), - array('<'), - array('<'), - array('#'), - ); + return [ + ['id'], + ['123'], + ['<'], + ['<'], + ['#'], + ]; } protected function generateHandler() diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/IdentifierHandlerTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/IdentifierHandlerTest.php index f56430c7e8..c54ba537b8 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/IdentifierHandlerTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/IdentifierHandlerTest.php @@ -20,24 +20,24 @@ class IdentifierHandlerTest extends AbstractHandlerTest { public function getHandleValueTestData() { - return array( - array('foo', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), ''), - array('foo|bar', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), '|bar'), - array('foo.class', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), '.class'), - array('foo[attr]', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), '[attr]'), - array('foo bar', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), ' bar'), - ); + return [ + ['foo', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), ''], + ['foo|bar', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), '|bar'], + ['foo.class', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), '.class'], + ['foo[attr]', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), '[attr]'], + ['foo bar', new Token(Token::TYPE_IDENTIFIER, 'foo', 0), ' bar'], + ]; } public function getDontHandleValueTestData() { - return array( - array('>'), - array('+'), - array(' '), - array('*|foo'), - array('/* comment */'), - ); + return [ + ['>'], + ['+'], + [' '], + ['*|foo'], + ['/* comment */'], + ]; } protected function generateHandler() diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/NumberHandlerTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/NumberHandlerTest.php index 675fd05b43..b43d369421 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/NumberHandlerTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/NumberHandlerTest.php @@ -19,26 +19,26 @@ class NumberHandlerTest extends AbstractHandlerTest { public function getHandleValueTestData() { - return array( - array('12', new Token(Token::TYPE_NUMBER, '12', 0), ''), - array('12.34', new Token(Token::TYPE_NUMBER, '12.34', 0), ''), - array('+12.34', new Token(Token::TYPE_NUMBER, '+12.34', 0), ''), - array('-12.34', new Token(Token::TYPE_NUMBER, '-12.34', 0), ''), - - array('12 arg', new Token(Token::TYPE_NUMBER, '12', 0), ' arg'), - array('12]', new Token(Token::TYPE_NUMBER, '12', 0), ']'), - ); + return [ + ['12', new Token(Token::TYPE_NUMBER, '12', 0), ''], + ['12.34', new Token(Token::TYPE_NUMBER, '12.34', 0), ''], + ['+12.34', new Token(Token::TYPE_NUMBER, '+12.34', 0), ''], + ['-12.34', new Token(Token::TYPE_NUMBER, '-12.34', 0), ''], + + ['12 arg', new Token(Token::TYPE_NUMBER, '12', 0), ' arg'], + ['12]', new Token(Token::TYPE_NUMBER, '12', 0), ']'], + ]; } public function getDontHandleValueTestData() { - return array( - array('hello'), - array('>'), - array('+'), - array(' '), - array('/* comment */'), - ); + return [ + ['hello'], + ['>'], + ['+'], + [' '], + ['/* comment */'], + ]; } protected function generateHandler() diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/StringHandlerTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/StringHandlerTest.php index 8ea5d4d587..baa72735ff 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/StringHandlerTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/StringHandlerTest.php @@ -20,25 +20,25 @@ class StringHandlerTest extends AbstractHandlerTest { public function getHandleValueTestData() { - return array( - array('"hello"', new Token(Token::TYPE_STRING, 'hello', 1), ''), - array('"1"', new Token(Token::TYPE_STRING, '1', 1), ''), - array('" "', new Token(Token::TYPE_STRING, ' ', 1), ''), - array('""', new Token(Token::TYPE_STRING, '', 1), ''), - array("'hello'", new Token(Token::TYPE_STRING, 'hello', 1), ''), - - array("'foo'bar", new Token(Token::TYPE_STRING, 'foo', 1), 'bar'), - ); + return [ + ['"hello"', new Token(Token::TYPE_STRING, 'hello', 1), ''], + ['"1"', new Token(Token::TYPE_STRING, '1', 1), ''], + ['" "', new Token(Token::TYPE_STRING, ' ', 1), ''], + ['""', new Token(Token::TYPE_STRING, '', 1), ''], + ["'hello'", new Token(Token::TYPE_STRING, 'hello', 1), ''], + + ["'foo'bar", new Token(Token::TYPE_STRING, 'foo', 1), 'bar'], + ]; } public function getDontHandleValueTestData() { - return array( - array('hello'), - array('>'), - array('1'), - array(' '), - ); + return [ + ['hello'], + ['>'], + ['1'], + [' '], + ]; } protected function generateHandler() diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/WhitespaceHandlerTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/WhitespaceHandlerTest.php index f5f9e71dc2..67509ef135 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/WhitespaceHandlerTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Handler/WhitespaceHandlerTest.php @@ -18,23 +18,23 @@ class WhitespaceHandlerTest extends AbstractHandlerTest { public function getHandleValueTestData() { - return array( - array(' ', new Token(Token::TYPE_WHITESPACE, ' ', 0), ''), - array("\n", new Token(Token::TYPE_WHITESPACE, "\n", 0), ''), - array("\t", new Token(Token::TYPE_WHITESPACE, "\t", 0), ''), + return [ + [' ', new Token(Token::TYPE_WHITESPACE, ' ', 0), ''], + ["\n", new Token(Token::TYPE_WHITESPACE, "\n", 0), ''], + ["\t", new Token(Token::TYPE_WHITESPACE, "\t", 0), ''], - array(' foo', new Token(Token::TYPE_WHITESPACE, ' ', 0), 'foo'), - array(' .foo', new Token(Token::TYPE_WHITESPACE, ' ', 0), '.foo'), - ); + [' foo', new Token(Token::TYPE_WHITESPACE, ' ', 0), 'foo'], + [' .foo', new Token(Token::TYPE_WHITESPACE, ' ', 0), '.foo'], + ]; } public function getDontHandleValueTestData() { - return array( - array('>'), - array('1'), - array('a'), - ); + return [ + ['>'], + ['1'], + ['a'], + ]; } protected function generateHandler() diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/ParserTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/ParserTest.php index 53b35a9547..de3509348c 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/ParserTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/ParserTest.php @@ -77,7 +77,7 @@ class ParserTest extends TestCase /** @var FunctionNode $function */ $function = $selectors[0]->getTree(); - $this->assertEquals(array($a, $b), Parser::parseSeries($function->getArguments())); + $this->assertEquals([$a, $b], Parser::parseSeries($function->getArguments())); } /** @dataProvider getParseSeriesExceptionTestData */ @@ -95,156 +95,159 @@ class ParserTest extends TestCase public function getParserTestData() { - return array( - array('*', array('Element[*]')), - array('*|*', array('Element[*]')), - array('*|foo', array('Element[foo]')), - array('foo|*', array('Element[foo|*]')), - array('foo|bar', array('Element[foo|bar]')), - array('#foo#bar', array('Hash[Hash[Element[*]#foo]#bar]')), - array('div>.foo', array('CombinedSelector[Element[div] > Class[Element[*].foo]]')), - array('div> .foo', array('CombinedSelector[Element[div] > Class[Element[*].foo]]')), - array('div >.foo', array('CombinedSelector[Element[div] > Class[Element[*].foo]]')), - array('div > .foo', array('CombinedSelector[Element[div] > Class[Element[*].foo]]')), - array("div \n> \t \t .foo", array('CombinedSelector[Element[div] > Class[Element[*].foo]]')), - array('td.foo,.bar', array('Class[Element[td].foo]', 'Class[Element[*].bar]')), - array('td.foo, .bar', array('Class[Element[td].foo]', 'Class[Element[*].bar]')), - array("td.foo\t\r\n\f ,\t\r\n\f .bar", array('Class[Element[td].foo]', 'Class[Element[*].bar]')), - array('td.foo,.bar', array('Class[Element[td].foo]', 'Class[Element[*].bar]')), - array('td.foo, .bar', array('Class[Element[td].foo]', 'Class[Element[*].bar]')), - array("td.foo\t\r\n\f ,\t\r\n\f .bar", array('Class[Element[td].foo]', 'Class[Element[*].bar]')), - array('div, td.foo, div.bar span', array('Element[div]', 'Class[Element[td].foo]', 'CombinedSelector[Class[Element[div].bar] Element[span]]')), - array('div > p', array('CombinedSelector[Element[div] > Element[p]]')), - array('td:first', array('Pseudo[Element[td]:first]')), - array('td :first', array('CombinedSelector[Element[td] Pseudo[Element[*]:first]]')), - array('a[name]', array('Attribute[Element[a][name]]')), - array("a[ name\t]", array('Attribute[Element[a][name]]')), - array('a [name]', array('CombinedSelector[Element[a] Attribute[Element[*][name]]]')), - array('a[rel="include"]', array("Attribute[Element[a][rel = 'include']]")), - array('a[rel = include]', array("Attribute[Element[a][rel = 'include']]")), - array("a[hreflang |= 'en']", array("Attribute[Element[a][hreflang |= 'en']]")), - array('a[hreflang|=en]', array("Attribute[Element[a][hreflang |= 'en']]")), - array('div:nth-child(10)', array("Function[Element[div]:nth-child(['10'])]")), - array(':nth-child(2n+2)', array("Function[Element[*]:nth-child(['2', 'n', '+2'])]")), - array('div:nth-of-type(10)', array("Function[Element[div]:nth-of-type(['10'])]")), - array('div div:nth-of-type(10) .aclass', array("CombinedSelector[CombinedSelector[Element[div] Function[Element[div]:nth-of-type(['10'])]] Class[Element[*].aclass]]")), - array('label:only', array('Pseudo[Element[label]:only]')), - array('a:lang(fr)', array("Function[Element[a]:lang(['fr'])]")), - array('div:contains("foo")', array("Function[Element[div]:contains(['foo'])]")), - array('div#foobar', array('Hash[Element[div]#foobar]')), - array('div:not(div.foo)', array('Negation[Element[div]:not(Class[Element[div].foo])]')), - array('td ~ th', array('CombinedSelector[Element[td] ~ Element[th]]')), - array('.foo[data-bar][data-baz=0]', array("Attribute[Attribute[Class[Element[*].foo][data-bar]][data-baz = '0']]")), - ); + return [ + ['*', ['Element[*]']], + ['*|*', ['Element[*]']], + ['*|foo', ['Element[foo]']], + ['foo|*', ['Element[foo|*]']], + ['foo|bar', ['Element[foo|bar]']], + ['#foo#bar', ['Hash[Hash[Element[*]#foo]#bar]']], + ['div>.foo', ['CombinedSelector[Element[div] > Class[Element[*].foo]]']], + ['div> .foo', ['CombinedSelector[Element[div] > Class[Element[*].foo]]']], + ['div >.foo', ['CombinedSelector[Element[div] > Class[Element[*].foo]]']], + ['div > .foo', ['CombinedSelector[Element[div] > Class[Element[*].foo]]']], + ["div \n> \t \t .foo", ['CombinedSelector[Element[div] > Class[Element[*].foo]]']], + ['td.foo,.bar', ['Class[Element[td].foo]', 'Class[Element[*].bar]']], + ['td.foo, .bar', ['Class[Element[td].foo]', 'Class[Element[*].bar]']], + ["td.foo\t\r\n\f ,\t\r\n\f .bar", ['Class[Element[td].foo]', 'Class[Element[*].bar]']], + ['td.foo,.bar', ['Class[Element[td].foo]', 'Class[Element[*].bar]']], + ['td.foo, .bar', ['Class[Element[td].foo]', 'Class[Element[*].bar]']], + ["td.foo\t\r\n\f ,\t\r\n\f .bar", ['Class[Element[td].foo]', 'Class[Element[*].bar]']], + ['div, td.foo, div.bar span', ['Element[div]', 'Class[Element[td].foo]', 'CombinedSelector[Class[Element[div].bar] Element[span]]']], + ['div > p', ['CombinedSelector[Element[div] > Element[p]]']], + ['td:first', ['Pseudo[Element[td]:first]']], + ['td :first', ['CombinedSelector[Element[td] Pseudo[Element[*]:first]]']], + ['a[name]', ['Attribute[Element[a][name]]']], + ["a[ name\t]", ['Attribute[Element[a][name]]']], + ['a [name]', ['CombinedSelector[Element[a] Attribute[Element[*][name]]]']], + ['[name="foo"]', ["Attribute[Element[*][name = 'foo']]"]], + ["[name='foo[1]']", ["Attribute[Element[*][name = 'foo[1]']]"]], + ["[name='foo[0][bar]']", ["Attribute[Element[*][name = 'foo[0][bar]']]"]], + ['a[rel="include"]', ["Attribute[Element[a][rel = 'include']]"]], + ['a[rel = include]', ["Attribute[Element[a][rel = 'include']]"]], + ["a[hreflang |= 'en']", ["Attribute[Element[a][hreflang |= 'en']]"]], + ['a[hreflang|=en]', ["Attribute[Element[a][hreflang |= 'en']]"]], + ['div:nth-child(10)', ["Function[Element[div]:nth-child(['10'])]"]], + [':nth-child(2n+2)', ["Function[Element[*]:nth-child(['2', 'n', '+2'])]"]], + ['div:nth-of-type(10)', ["Function[Element[div]:nth-of-type(['10'])]"]], + ['div div:nth-of-type(10) .aclass', ["CombinedSelector[CombinedSelector[Element[div] Function[Element[div]:nth-of-type(['10'])]] Class[Element[*].aclass]]"]], + ['label:only', ['Pseudo[Element[label]:only]']], + ['a:lang(fr)', ["Function[Element[a]:lang(['fr'])]"]], + ['div:contains("foo")', ["Function[Element[div]:contains(['foo'])]"]], + ['div#foobar', ['Hash[Element[div]#foobar]']], + ['div:not(div.foo)', ['Negation[Element[div]:not(Class[Element[div].foo])]']], + ['td ~ th', ['CombinedSelector[Element[td] ~ Element[th]]']], + ['.foo[data-bar][data-baz=0]', ["Attribute[Attribute[Class[Element[*].foo][data-bar]][data-baz = '0']]"]], + ]; } public function getParserExceptionTestData() { - return array( - array('attributes(href)/html/body/a', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '(', 10))->getMessage()), - array('attributes(href)', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '(', 10))->getMessage()), - array('html/body/a', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '/', 4))->getMessage()), - array(' ', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_FILE_END, '', 1))->getMessage()), - array('div, ', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_FILE_END, '', 5))->getMessage()), - array(' , div', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, ',', 1))->getMessage()), - array('p, , div', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, ',', 3))->getMessage()), - array('div > ', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_FILE_END, '', 6))->getMessage()), - array(' > div', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '>', 2))->getMessage()), - array('foo|#bar', SyntaxErrorException::unexpectedToken('identifier or "*"', new Token(Token::TYPE_HASH, 'bar', 4))->getMessage()), - array('#.foo', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '#', 0))->getMessage()), - array('.#foo', SyntaxErrorException::unexpectedToken('identifier', new Token(Token::TYPE_HASH, 'foo', 1))->getMessage()), - array(':#foo', SyntaxErrorException::unexpectedToken('identifier', new Token(Token::TYPE_HASH, 'foo', 1))->getMessage()), - array('[*]', SyntaxErrorException::unexpectedToken('"|"', new Token(Token::TYPE_DELIMITER, ']', 2))->getMessage()), - array('[foo|]', SyntaxErrorException::unexpectedToken('identifier', new Token(Token::TYPE_DELIMITER, ']', 5))->getMessage()), - array('[#]', SyntaxErrorException::unexpectedToken('identifier or "*"', new Token(Token::TYPE_DELIMITER, '#', 1))->getMessage()), - array('[foo=#]', SyntaxErrorException::unexpectedToken('string or identifier', new Token(Token::TYPE_DELIMITER, '#', 5))->getMessage()), - array(':nth-child()', SyntaxErrorException::unexpectedToken('at least one argument', new Token(Token::TYPE_DELIMITER, ')', 11))->getMessage()), - array('[href]a', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_IDENTIFIER, 'a', 6))->getMessage()), - array('[rel:stylesheet]', SyntaxErrorException::unexpectedToken('operator', new Token(Token::TYPE_DELIMITER, ':', 4))->getMessage()), - array('[rel=stylesheet', SyntaxErrorException::unexpectedToken('"]"', new Token(Token::TYPE_FILE_END, '', 15))->getMessage()), - array(':lang(fr', SyntaxErrorException::unexpectedToken('an argument', new Token(Token::TYPE_FILE_END, '', 8))->getMessage()), - array(':contains("foo', SyntaxErrorException::unclosedString(10)->getMessage()), - array('foo!', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '!', 3))->getMessage()), - ); + return [ + ['attributes(href)/html/body/a', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '(', 10))->getMessage()], + ['attributes(href)', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '(', 10))->getMessage()], + ['html/body/a', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '/', 4))->getMessage()], + [' ', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_FILE_END, '', 1))->getMessage()], + ['div, ', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_FILE_END, '', 5))->getMessage()], + [' , div', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, ',', 1))->getMessage()], + ['p, , div', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, ',', 3))->getMessage()], + ['div > ', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_FILE_END, '', 6))->getMessage()], + [' > div', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '>', 2))->getMessage()], + ['foo|#bar', SyntaxErrorException::unexpectedToken('identifier or "*"', new Token(Token::TYPE_HASH, 'bar', 4))->getMessage()], + ['#.foo', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '#', 0))->getMessage()], + ['.#foo', SyntaxErrorException::unexpectedToken('identifier', new Token(Token::TYPE_HASH, 'foo', 1))->getMessage()], + [':#foo', SyntaxErrorException::unexpectedToken('identifier', new Token(Token::TYPE_HASH, 'foo', 1))->getMessage()], + ['[*]', SyntaxErrorException::unexpectedToken('"|"', new Token(Token::TYPE_DELIMITER, ']', 2))->getMessage()], + ['[foo|]', SyntaxErrorException::unexpectedToken('identifier', new Token(Token::TYPE_DELIMITER, ']', 5))->getMessage()], + ['[#]', SyntaxErrorException::unexpectedToken('identifier or "*"', new Token(Token::TYPE_DELIMITER, '#', 1))->getMessage()], + ['[foo=#]', SyntaxErrorException::unexpectedToken('string or identifier', new Token(Token::TYPE_DELIMITER, '#', 5))->getMessage()], + [':nth-child()', SyntaxErrorException::unexpectedToken('at least one argument', new Token(Token::TYPE_DELIMITER, ')', 11))->getMessage()], + ['[href]a', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_IDENTIFIER, 'a', 6))->getMessage()], + ['[rel:stylesheet]', SyntaxErrorException::unexpectedToken('operator', new Token(Token::TYPE_DELIMITER, ':', 4))->getMessage()], + ['[rel=stylesheet', SyntaxErrorException::unexpectedToken('"]"', new Token(Token::TYPE_FILE_END, '', 15))->getMessage()], + [':lang(fr', SyntaxErrorException::unexpectedToken('an argument', new Token(Token::TYPE_FILE_END, '', 8))->getMessage()], + [':contains("foo', SyntaxErrorException::unclosedString(10)->getMessage()], + ['foo!', SyntaxErrorException::unexpectedToken('selector', new Token(Token::TYPE_DELIMITER, '!', 3))->getMessage()], + ]; } public function getPseudoElementsTestData() { - return array( - array('foo', 'Element[foo]', ''), - array('*', 'Element[*]', ''), - array(':empty', 'Pseudo[Element[*]:empty]', ''), - array(':BEfore', 'Element[*]', 'before'), - array(':aftER', 'Element[*]', 'after'), - array(':First-Line', 'Element[*]', 'first-line'), - array(':First-Letter', 'Element[*]', 'first-letter'), - array('::befoRE', 'Element[*]', 'before'), - array('::AFter', 'Element[*]', 'after'), - array('::firsT-linE', 'Element[*]', 'first-line'), - array('::firsT-letteR', 'Element[*]', 'first-letter'), - array('::Selection', 'Element[*]', 'selection'), - array('foo:after', 'Element[foo]', 'after'), - array('foo::selection', 'Element[foo]', 'selection'), - array('lorem#ipsum ~ a#b.c[href]:empty::selection', 'CombinedSelector[Hash[Element[lorem]#ipsum] ~ Pseudo[Attribute[Class[Hash[Element[a]#b].c][href]]:empty]]', 'selection'), - array('video::-webkit-media-controls', 'Element[video]', '-webkit-media-controls'), - ); + return [ + ['foo', 'Element[foo]', ''], + ['*', 'Element[*]', ''], + [':empty', 'Pseudo[Element[*]:empty]', ''], + [':BEfore', 'Element[*]', 'before'], + [':aftER', 'Element[*]', 'after'], + [':First-Line', 'Element[*]', 'first-line'], + [':First-Letter', 'Element[*]', 'first-letter'], + ['::befoRE', 'Element[*]', 'before'], + ['::AFter', 'Element[*]', 'after'], + ['::firsT-linE', 'Element[*]', 'first-line'], + ['::firsT-letteR', 'Element[*]', 'first-letter'], + ['::Selection', 'Element[*]', 'selection'], + ['foo:after', 'Element[foo]', 'after'], + ['foo::selection', 'Element[foo]', 'selection'], + ['lorem#ipsum ~ a#b.c[href]:empty::selection', 'CombinedSelector[Hash[Element[lorem]#ipsum] ~ Pseudo[Attribute[Class[Hash[Element[a]#b].c][href]]:empty]]', 'selection'], + ['video::-webkit-media-controls', 'Element[video]', '-webkit-media-controls'], + ]; } public function getSpecificityTestData() { - return array( - array('*', 0), - array(' foo', 1), - array(':empty ', 10), - array(':before', 1), - array('*:before', 1), - array(':nth-child(2)', 10), - array('.bar', 10), - array('[baz]', 10), - array('[baz="4"]', 10), - array('[baz^="4"]', 10), - array('#lipsum', 100), - array(':not(*)', 0), - array(':not(foo)', 1), - array(':not(.foo)', 10), - array(':not([foo])', 10), - array(':not(:empty)', 10), - array(':not(#foo)', 100), - array('foo:empty', 11), - array('foo:before', 2), - array('foo::before', 2), - array('foo:empty::before', 12), - array('#lorem + foo#ipsum:first-child > bar:first-line', 213), - ); + return [ + ['*', 0], + [' foo', 1], + [':empty ', 10], + [':before', 1], + ['*:before', 1], + [':nth-child(2)', 10], + ['.bar', 10], + ['[baz]', 10], + ['[baz="4"]', 10], + ['[baz^="4"]', 10], + ['#lipsum', 100], + [':not(*)', 0], + [':not(foo)', 1], + [':not(.foo)', 10], + [':not([foo])', 10], + [':not(:empty)', 10], + [':not(#foo)', 100], + ['foo:empty', 11], + ['foo:before', 2], + ['foo::before', 2], + ['foo:empty::before', 12], + ['#lorem + foo#ipsum:first-child > bar:first-line', 213], + ]; } public function getParseSeriesTestData() { - return array( - array('1n+3', 1, 3), - array('1n +3', 1, 3), - array('1n + 3', 1, 3), - array('1n+ 3', 1, 3), - array('1n-3', 1, -3), - array('1n -3', 1, -3), - array('1n - 3', 1, -3), - array('1n- 3', 1, -3), - array('n-5', 1, -5), - array('odd', 2, 1), - array('even', 2, 0), - array('3n', 3, 0), - array('n', 1, 0), - array('+n', 1, 0), - array('-n', -1, 0), - array('5', 0, 5), - ); + return [ + ['1n+3', 1, 3], + ['1n +3', 1, 3], + ['1n + 3', 1, 3], + ['1n+ 3', 1, 3], + ['1n-3', 1, -3], + ['1n -3', 1, -3], + ['1n - 3', 1, -3], + ['1n- 3', 1, -3], + ['n-5', 1, -5], + ['odd', 2, 1], + ['even', 2, 0], + ['3n', 3, 0], + ['n', 1, 0], + ['+n', 1, 0], + ['-n', -1, 0], + ['5', 0, 5], + ]; } public function getParseSeriesExceptionTestData() { - return array( - array('foo'), - array('n+'), - ); + return [ + ['foo'], + ['n+'], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/ReaderTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/ReaderTest.php index 21eb608462..ff9ea90975 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/ReaderTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/ReaderTest.php @@ -70,11 +70,11 @@ class ReaderTest extends TestCase $reader = new Reader('hello'); $this->assertFalse($reader->findPattern('/world/')); - $this->assertEquals(array('hello', 'h'), $reader->findPattern('/^([a-z]).*/')); + $this->assertEquals(['hello', 'h'], $reader->findPattern('/^([a-z]).*/')); $this->assignPosition($reader, 2); $this->assertFalse($reader->findPattern('/^h.*/')); - $this->assertEquals(array('llo'), $reader->findPattern('/^llo$/')); + $this->assertEquals(['llo'], $reader->findPattern('/^llo$/')); } public function testMoveForward() diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Shortcut/ClassParserTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Shortcut/ClassParserTest.php index 7e92f5baee..29d9d5f16b 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Shortcut/ClassParserTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Shortcut/ClassParserTest.php @@ -34,12 +34,12 @@ class ClassParserTest extends TestCase public function getParseTestData() { - return array( - array('.testclass', 'Class[Element[*].testclass]'), - array('testel.testclass', 'Class[Element[testel].testclass]'), - array('testns|.testclass', 'Class[Element[testns|*].testclass]'), - array('testns|*.testclass', 'Class[Element[testns|*].testclass]'), - array('testns|testel.testclass', 'Class[Element[testns|testel].testclass]'), - ); + return [ + ['.testclass', 'Class[Element[*].testclass]'], + ['testel.testclass', 'Class[Element[testel].testclass]'], + ['testns|.testclass', 'Class[Element[testns|*].testclass]'], + ['testns|*.testclass', 'Class[Element[testns|*].testclass]'], + ['testns|testel.testclass', 'Class[Element[testns|testel].testclass]'], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Shortcut/ElementParserTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Shortcut/ElementParserTest.php index 05a730fde1..79cc227032 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Shortcut/ElementParserTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Shortcut/ElementParserTest.php @@ -34,11 +34,11 @@ class ElementParserTest extends TestCase public function getParseTestData() { - return array( - array('*', 'Element[*]'), - array('testel', 'Element[testel]'), - array('testns|*', 'Element[testns|*]'), - array('testns|testel', 'Element[testns|testel]'), - ); + return [ + ['*', 'Element[*]'], + ['testel', 'Element[testel]'], + ['testns|*', 'Element[testns|*]'], + ['testns|testel', 'Element[testns|testel]'], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Shortcut/HashParserTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Shortcut/HashParserTest.php index 82f555d9ab..a7c79d69a5 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Shortcut/HashParserTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/Parser/Shortcut/HashParserTest.php @@ -34,12 +34,12 @@ class HashParserTest extends TestCase public function getParseTestData() { - return array( - array('#testid', 'Hash[Element[*]#testid]'), - array('testel#testid', 'Hash[Element[testel]#testid]'), - array('testns|#testid', 'Hash[Element[testns|*]#testid]'), - array('testns|*#testid', 'Hash[Element[testns|*]#testid]'), - array('testns|testel#testid', 'Hash[Element[testns|testel]#testid]'), - ); + return [ + ['#testid', 'Hash[Element[*]#testid]'], + ['testel#testid', 'Hash[Element[testel]#testid]'], + ['testns|#testid', 'Hash[Element[testns|*]#testid]'], + ['testns|*#testid', 'Hash[Element[testns|*]#testid]'], + ['testns|testel#testid', 'Hash[Element[testns|testel]#testid]'], + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/XPath/TranslatorTest.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/XPath/TranslatorTest.php index 610458297e..a9ab29e2ad 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/XPath/TranslatorTest.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/Tests/XPath/TranslatorTest.php @@ -12,8 +12,12 @@ namespace Symfony\Component\CssSelector\Tests\XPath; use PHPUnit\Framework\TestCase; +use Symfony\Component\CssSelector\Node\ElementNode; +use Symfony\Component\CssSelector\Node\FunctionNode; +use Symfony\Component\CssSelector\Parser\Parser; use Symfony\Component\CssSelector\XPath\Extension\HtmlExtension; use Symfony\Component\CssSelector\XPath\Translator; +use Symfony\Component\CssSelector\XPath\XPathExpr; class TranslatorTest extends TestCase { @@ -31,6 +35,73 @@ class TranslatorTest extends TestCase $this->assertEquals($xpath, $translator->cssToXPath($css, '')); } + /** + * @expectedException \Symfony\Component\CssSelector\Exception\ExpressionErrorException + */ + public function testCssToXPathPseudoElement() + { + $translator = new Translator(); + $translator->registerExtension(new HtmlExtension($translator)); + $translator->cssToXPath('e::first-line'); + } + + /** + * @expectedException \Symfony\Component\CssSelector\Exception\ExpressionErrorException + */ + public function testGetExtensionNotExistsExtension() + { + $translator = new Translator(); + $translator->registerExtension(new HtmlExtension($translator)); + $translator->getExtension('fake'); + } + + /** + * @expectedException \Symfony\Component\CssSelector\Exception\ExpressionErrorException + */ + public function testAddCombinationNotExistsExtension() + { + $translator = new Translator(); + $translator->registerExtension(new HtmlExtension($translator)); + $parser = new Parser(); + $xpath = $parser->parse('*')[0]; + $combinedXpath = $parser->parse('*')[0]; + $translator->addCombination('fake', $xpath, $combinedXpath); + } + + /** + * @expectedException \Symfony\Component\CssSelector\Exception\ExpressionErrorException + */ + public function testAddFunctionNotExistsFunction() + { + $translator = new Translator(); + $translator->registerExtension(new HtmlExtension($translator)); + $xpath = new XPathExpr(); + $function = new FunctionNode(new ElementNode(), 'fake'); + $translator->addFunction($xpath, $function); + } + + /** + * @expectedException \Symfony\Component\CssSelector\Exception\ExpressionErrorException + */ + public function testAddPseudoClassNotExistsClass() + { + $translator = new Translator(); + $translator->registerExtension(new HtmlExtension($translator)); + $xpath = new XPathExpr(); + $translator->addPseudoClass($xpath, 'fake'); + } + + /** + * @expectedException \Symfony\Component\CssSelector\Exception\ExpressionErrorException + */ + public function testAddAttributeMatchingClassNotExistsClass() + { + $translator = new Translator(); + $translator->registerExtension(new HtmlExtension($translator)); + $xpath = new XPathExpr(); + $translator->addAttributeMatching($xpath, '', '', ''); + } + /** @dataProvider getXmlLangTestData */ public function testXmlLang($css, array $elementsId) { @@ -80,248 +151,248 @@ class TranslatorTest extends TestCase public function getXpathLiteralTestData() { - return array( - array('foo', "'foo'"), - array("foo's bar", '"foo\'s bar"'), - array("foo's \"middle\" bar", 'concat(\'foo\', "\'", \'s "middle" bar\')'), - array("foo's 'middle' \"bar\"", 'concat(\'foo\', "\'", \'s \', "\'", \'middle\', "\'", \' "bar"\')'), - ); + return [ + ['foo', "'foo'"], + ["foo's bar", '"foo\'s bar"'], + ["foo's \"middle\" bar", 'concat(\'foo\', "\'", \'s "middle" bar\')'], + ["foo's 'middle' \"bar\"", 'concat(\'foo\', "\'", \'s \', "\'", \'middle\', "\'", \' "bar"\')'], + ]; } public function getCssToXPathTestData() { - return array( - array('*', '*'), - array('e', 'e'), - array('*|e', 'e'), - array('e|f', 'e:f'), - array('e[foo]', 'e[@foo]'), - array('e[foo|bar]', 'e[@foo:bar]'), - array('e[foo="bar"]', "e[@foo = 'bar']"), - array('e[foo~="bar"]', "e[@foo and contains(concat(' ', normalize-space(@foo), ' '), ' bar ')]"), - array('e[foo^="bar"]', "e[@foo and starts-with(@foo, 'bar')]"), - array('e[foo$="bar"]', "e[@foo and substring(@foo, string-length(@foo)-2) = 'bar']"), - array('e[foo*="bar"]', "e[@foo and contains(@foo, 'bar')]"), - array('e[foo!="bar"]', "e[not(@foo) or @foo != 'bar']"), - array('e[foo!="bar"][foo!="baz"]', "e[(not(@foo) or @foo != 'bar') and (not(@foo) or @foo != 'baz')]"), - array('e[hreflang|="en"]', "e[@hreflang and (@hreflang = 'en' or starts-with(@hreflang, 'en-'))]"), - array('e:nth-child(1)', "*/*[(name() = 'e') and (position() = 1)]"), - array('e:nth-last-child(1)', "*/*[(name() = 'e') and (position() = last() - 0)]"), - array('e:nth-last-child(2n+2)', "*/*[(name() = 'e') and (last() - position() - 1 >= 0 and (last() - position() - 1) mod 2 = 0)]"), - array('e:nth-of-type(1)', '*/e[position() = 1]'), - array('e:nth-last-of-type(1)', '*/e[position() = last() - 0]'), - array('div e:nth-last-of-type(1) .aclass', "div/descendant-or-self::*/e[position() = last() - 0]/descendant-or-self::*/*[@class and contains(concat(' ', normalize-space(@class), ' '), ' aclass ')]"), - array('e:first-child', "*/*[(name() = 'e') and (position() = 1)]"), - array('e:last-child', "*/*[(name() = 'e') and (position() = last())]"), - array('e:first-of-type', '*/e[position() = 1]'), - array('e:last-of-type', '*/e[position() = last()]'), - array('e:only-child', "*/*[(name() = 'e') and (last() = 1)]"), - array('e:only-of-type', 'e[last() = 1]'), - array('e:empty', 'e[not(*) and not(string-length())]'), - array('e:EmPTY', 'e[not(*) and not(string-length())]'), - array('e:root', 'e[not(parent::*)]'), - array('e:hover', 'e[0]'), - array('e:contains("foo")', "e[contains(string(.), 'foo')]"), - array('e:ConTains(foo)', "e[contains(string(.), 'foo')]"), - array('e.warning', "e[@class and contains(concat(' ', normalize-space(@class), ' '), ' warning ')]"), - array('e#myid', "e[@id = 'myid']"), - array('e:not(:nth-child(odd))', 'e[not(position() - 1 >= 0 and (position() - 1) mod 2 = 0)]'), - array('e:nOT(*)', 'e[0]'), - array('e f', 'e/descendant-or-self::*/f'), - array('e > f', 'e/f'), - array('e + f', "e/following-sibling::*[(name() = 'f') and (position() = 1)]"), - array('e ~ f', 'e/following-sibling::f'), - array('div#container p', "div[@id = 'container']/descendant-or-self::*/p"), - ); + return [ + ['*', '*'], + ['e', 'e'], + ['*|e', 'e'], + ['e|f', 'e:f'], + ['e[foo]', 'e[@foo]'], + ['e[foo|bar]', 'e[@foo:bar]'], + ['e[foo="bar"]', "e[@foo = 'bar']"], + ['e[foo~="bar"]', "e[@foo and contains(concat(' ', normalize-space(@foo), ' '), ' bar ')]"], + ['e[foo^="bar"]', "e[@foo and starts-with(@foo, 'bar')]"], + ['e[foo$="bar"]', "e[@foo and substring(@foo, string-length(@foo)-2) = 'bar']"], + ['e[foo*="bar"]', "e[@foo and contains(@foo, 'bar')]"], + ['e[foo!="bar"]', "e[not(@foo) or @foo != 'bar']"], + ['e[foo!="bar"][foo!="baz"]', "e[(not(@foo) or @foo != 'bar') and (not(@foo) or @foo != 'baz')]"], + ['e[hreflang|="en"]', "e[@hreflang and (@hreflang = 'en' or starts-with(@hreflang, 'en-'))]"], + ['e:nth-child(1)', "*/*[(name() = 'e') and (position() = 1)]"], + ['e:nth-last-child(1)', "*/*[(name() = 'e') and (position() = last() - 0)]"], + ['e:nth-last-child(2n+2)', "*/*[(name() = 'e') and (last() - position() - 1 >= 0 and (last() - position() - 1) mod 2 = 0)]"], + ['e:nth-of-type(1)', '*/e[position() = 1]'], + ['e:nth-last-of-type(1)', '*/e[position() = last() - 0]'], + ['div e:nth-last-of-type(1) .aclass', "div/descendant-or-self::*/e[position() = last() - 0]/descendant-or-self::*/*[@class and contains(concat(' ', normalize-space(@class), ' '), ' aclass ')]"], + ['e:first-child', "*/*[(name() = 'e') and (position() = 1)]"], + ['e:last-child', "*/*[(name() = 'e') and (position() = last())]"], + ['e:first-of-type', '*/e[position() = 1]'], + ['e:last-of-type', '*/e[position() = last()]'], + ['e:only-child', "*/*[(name() = 'e') and (last() = 1)]"], + ['e:only-of-type', 'e[last() = 1]'], + ['e:empty', 'e[not(*) and not(string-length())]'], + ['e:EmPTY', 'e[not(*) and not(string-length())]'], + ['e:root', 'e[not(parent::*)]'], + ['e:hover', 'e[0]'], + ['e:contains("foo")', "e[contains(string(.), 'foo')]"], + ['e:ConTains(foo)', "e[contains(string(.), 'foo')]"], + ['e.warning', "e[@class and contains(concat(' ', normalize-space(@class), ' '), ' warning ')]"], + ['e#myid', "e[@id = 'myid']"], + ['e:not(:nth-child(odd))', 'e[not(position() - 1 >= 0 and (position() - 1) mod 2 = 0)]'], + ['e:nOT(*)', 'e[0]'], + ['e f', 'e/descendant-or-self::*/f'], + ['e > f', 'e/f'], + ['e + f', "e/following-sibling::*[(name() = 'f') and (position() = 1)]"], + ['e ~ f', 'e/following-sibling::f'], + ['div#container p', "div[@id = 'container']/descendant-or-self::*/p"], + ]; } public function getXmlLangTestData() { - return array( - array(':lang("EN")', array('first', 'second', 'third', 'fourth')), - array(':lang("en-us")', array('second', 'fourth')), - array(':lang(en-nz)', array('third')), - array(':lang(fr)', array('fifth')), - array(':lang(ru)', array('sixth')), - array(":lang('ZH')", array('eighth')), - array(':lang(de) :lang(zh)', array('eighth')), - array(':lang(en), :lang(zh)', array('first', 'second', 'third', 'fourth', 'eighth')), - array(':lang(es)', array()), - ); + return [ + [':lang("EN")', ['first', 'second', 'third', 'fourth']], + [':lang("en-us")', ['second', 'fourth']], + [':lang(en-nz)', ['third']], + [':lang(fr)', ['fifth']], + [':lang(ru)', ['sixth']], + [":lang('ZH')", ['eighth']], + [':lang(de) :lang(zh)', ['eighth']], + [':lang(en), :lang(zh)', ['first', 'second', 'third', 'fourth', 'eighth']], + [':lang(es)', []], + ]; } public function getHtmlIdsTestData() { - return array( - array('div', array('outer-div', 'li-div', 'foobar-div')), - array('DIV', array('outer-div', 'li-div', 'foobar-div')), // case-insensitive in HTML - array('div div', array('li-div')), - array('div, div div', array('outer-div', 'li-div', 'foobar-div')), - array('a[name]', array('name-anchor')), - array('a[NAme]', array('name-anchor')), // case-insensitive in HTML: - array('a[rel]', array('tag-anchor', 'nofollow-anchor')), - array('a[rel="tag"]', array('tag-anchor')), - array('a[href*="localhost"]', array('tag-anchor')), - array('a[href*=""]', array()), - array('a[href^="http"]', array('tag-anchor', 'nofollow-anchor')), - array('a[href^="http:"]', array('tag-anchor')), - array('a[href^=""]', array()), - array('a[href$="org"]', array('nofollow-anchor')), - array('a[href$=""]', array()), - array('div[foobar~="bc"]', array('foobar-div')), - array('div[foobar~="cde"]', array('foobar-div')), - array('[foobar~="ab bc"]', array('foobar-div')), - array('[foobar~=""]', array()), - array('[foobar~=" \t"]', array()), - array('div[foobar~="cd"]', array()), - array('*[lang|="En"]', array('second-li')), - array('[lang|="En-us"]', array('second-li')), + return [ + ['div', ['outer-div', 'li-div', 'foobar-div']], + ['DIV', ['outer-div', 'li-div', 'foobar-div']], // case-insensitive in HTML + ['div div', ['li-div']], + ['div, div div', ['outer-div', 'li-div', 'foobar-div']], + ['a[name]', ['name-anchor']], + ['a[NAme]', ['name-anchor']], // case-insensitive in HTML: + ['a[rel]', ['tag-anchor', 'nofollow-anchor']], + ['a[rel="tag"]', ['tag-anchor']], + ['a[href*="localhost"]', ['tag-anchor']], + ['a[href*=""]', []], + ['a[href^="http"]', ['tag-anchor', 'nofollow-anchor']], + ['a[href^="http:"]', ['tag-anchor']], + ['a[href^=""]', []], + ['a[href$="org"]', ['nofollow-anchor']], + ['a[href$=""]', []], + ['div[foobar~="bc"]', ['foobar-div']], + ['div[foobar~="cde"]', ['foobar-div']], + ['[foobar~="ab bc"]', ['foobar-div']], + ['[foobar~=""]', []], + ['[foobar~=" \t"]', []], + ['div[foobar~="cd"]', []], + ['*[lang|="En"]', ['second-li']], + ['[lang|="En-us"]', ['second-li']], // Attribute values are case sensitive - array('*[lang|="en"]', array()), - array('[lang|="en-US"]', array()), - array('*[lang|="e"]', array()), + ['*[lang|="en"]', []], + ['[lang|="en-US"]', []], + ['*[lang|="e"]', []], // ... :lang() is not. - array(':lang("EN")', array('second-li', 'li-div')), - array('*:lang(en-US)', array('second-li', 'li-div')), - array(':lang("e")', array()), - array('li:nth-child(3)', array('third-li')), - array('li:nth-child(10)', array()), - array('li:nth-child(2n)', array('second-li', 'fourth-li', 'sixth-li')), - array('li:nth-child(even)', array('second-li', 'fourth-li', 'sixth-li')), - array('li:nth-child(2n+0)', array('second-li', 'fourth-li', 'sixth-li')), - array('li:nth-child(+2n+1)', array('first-li', 'third-li', 'fifth-li', 'seventh-li')), - array('li:nth-child(odd)', array('first-li', 'third-li', 'fifth-li', 'seventh-li')), - array('li:nth-child(2n+4)', array('fourth-li', 'sixth-li')), - array('li:nth-child(3n+1)', array('first-li', 'fourth-li', 'seventh-li')), - array('li:nth-child(n)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')), - array('li:nth-child(n-1)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')), - array('li:nth-child(n+1)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')), - array('li:nth-child(n+3)', array('third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')), - array('li:nth-child(-n)', array()), - array('li:nth-child(-n-1)', array()), - array('li:nth-child(-n+1)', array('first-li')), - array('li:nth-child(-n+3)', array('first-li', 'second-li', 'third-li')), - array('li:nth-last-child(0)', array()), - array('li:nth-last-child(2n)', array('second-li', 'fourth-li', 'sixth-li')), - array('li:nth-last-child(even)', array('second-li', 'fourth-li', 'sixth-li')), - array('li:nth-last-child(2n+2)', array('second-li', 'fourth-li', 'sixth-li')), - array('li:nth-last-child(n)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')), - array('li:nth-last-child(n-1)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')), - array('li:nth-last-child(n-3)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')), - array('li:nth-last-child(n+1)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li')), - array('li:nth-last-child(n+3)', array('first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li')), - array('li:nth-last-child(-n)', array()), - array('li:nth-last-child(-n-1)', array()), - array('li:nth-last-child(-n+1)', array('seventh-li')), - array('li:nth-last-child(-n+3)', array('fifth-li', 'sixth-li', 'seventh-li')), - array('ol:first-of-type', array('first-ol')), - array('ol:nth-child(1)', array('first-ol')), - array('ol:nth-of-type(2)', array('second-ol')), - array('ol:nth-last-of-type(1)', array('second-ol')), - array('span:only-child', array('foobar-span')), - array('li div:only-child', array('li-div')), - array('div *:only-child', array('li-div', 'foobar-span')), - array('p:only-of-type', array('paragraph')), - array('a:empty', array('name-anchor')), - array('a:EMpty', array('name-anchor')), - array('li:empty', array('third-li', 'fourth-li', 'fifth-li', 'sixth-li')), - array(':root', array('html')), - array('html:root', array('html')), - array('li:root', array()), - array('* :root', array()), - array('*:contains("link")', array('html', 'outer-div', 'tag-anchor', 'nofollow-anchor')), - array(':CONtains("link")', array('html', 'outer-div', 'tag-anchor', 'nofollow-anchor')), - array('*:contains("LInk")', array()), // case sensitive - array('*:contains("e")', array('html', 'nil', 'outer-div', 'first-ol', 'first-li', 'paragraph', 'p-em')), - array('*:contains("E")', array()), // case-sensitive - array('.a', array('first-ol')), - array('.b', array('first-ol')), - array('*.a', array('first-ol')), - array('ol.a', array('first-ol')), - array('.c', array('first-ol', 'third-li', 'fourth-li')), - array('*.c', array('first-ol', 'third-li', 'fourth-li')), - array('ol *.c', array('third-li', 'fourth-li')), - array('ol li.c', array('third-li', 'fourth-li')), - array('li ~ li.c', array('third-li', 'fourth-li')), - array('ol > li.c', array('third-li', 'fourth-li')), - array('#first-li', array('first-li')), - array('li#first-li', array('first-li')), - array('*#first-li', array('first-li')), - array('li div', array('li-div')), - array('li > div', array('li-div')), - array('div div', array('li-div')), - array('div > div', array()), - array('div>.c', array('first-ol')), - array('div > .c', array('first-ol')), - array('div + div', array('foobar-div')), - array('a ~ a', array('tag-anchor', 'nofollow-anchor')), - array('a[rel="tag"] ~ a', array('nofollow-anchor')), - array('ol#first-ol li:last-child', array('seventh-li')), - array('ol#first-ol *:last-child', array('li-div', 'seventh-li')), - array('#outer-div:first-child', array('outer-div')), - array('#outer-div :first-child', array('name-anchor', 'first-li', 'li-div', 'p-b', 'checkbox-fieldset-disabled', 'area-href')), - array('a[href]', array('tag-anchor', 'nofollow-anchor')), - array(':not(*)', array()), - array('a:not([href])', array('name-anchor')), - array('ol :Not(li[class])', array('first-li', 'second-li', 'li-div', 'fifth-li', 'sixth-li', 'seventh-li')), + [':lang("EN")', ['second-li', 'li-div']], + ['*:lang(en-US)', ['second-li', 'li-div']], + [':lang("e")', []], + ['li:nth-child(3)', ['third-li']], + ['li:nth-child(10)', []], + ['li:nth-child(2n)', ['second-li', 'fourth-li', 'sixth-li']], + ['li:nth-child(even)', ['second-li', 'fourth-li', 'sixth-li']], + ['li:nth-child(2n+0)', ['second-li', 'fourth-li', 'sixth-li']], + ['li:nth-child(+2n+1)', ['first-li', 'third-li', 'fifth-li', 'seventh-li']], + ['li:nth-child(odd)', ['first-li', 'third-li', 'fifth-li', 'seventh-li']], + ['li:nth-child(2n+4)', ['fourth-li', 'sixth-li']], + ['li:nth-child(3n+1)', ['first-li', 'fourth-li', 'seventh-li']], + ['li:nth-child(n)', ['first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li']], + ['li:nth-child(n-1)', ['first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li']], + ['li:nth-child(n+1)', ['first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li']], + ['li:nth-child(n+3)', ['third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li']], + ['li:nth-child(-n)', []], + ['li:nth-child(-n-1)', []], + ['li:nth-child(-n+1)', ['first-li']], + ['li:nth-child(-n+3)', ['first-li', 'second-li', 'third-li']], + ['li:nth-last-child(0)', []], + ['li:nth-last-child(2n)', ['second-li', 'fourth-li', 'sixth-li']], + ['li:nth-last-child(even)', ['second-li', 'fourth-li', 'sixth-li']], + ['li:nth-last-child(2n+2)', ['second-li', 'fourth-li', 'sixth-li']], + ['li:nth-last-child(n)', ['first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li']], + ['li:nth-last-child(n-1)', ['first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li']], + ['li:nth-last-child(n-3)', ['first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li']], + ['li:nth-last-child(n+1)', ['first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li', 'sixth-li', 'seventh-li']], + ['li:nth-last-child(n+3)', ['first-li', 'second-li', 'third-li', 'fourth-li', 'fifth-li']], + ['li:nth-last-child(-n)', []], + ['li:nth-last-child(-n-1)', []], + ['li:nth-last-child(-n+1)', ['seventh-li']], + ['li:nth-last-child(-n+3)', ['fifth-li', 'sixth-li', 'seventh-li']], + ['ol:first-of-type', ['first-ol']], + ['ol:nth-child(1)', ['first-ol']], + ['ol:nth-of-type(2)', ['second-ol']], + ['ol:nth-last-of-type(1)', ['second-ol']], + ['span:only-child', ['foobar-span']], + ['li div:only-child', ['li-div']], + ['div *:only-child', ['li-div', 'foobar-span']], + ['p:only-of-type', ['paragraph']], + ['a:empty', ['name-anchor']], + ['a:EMpty', ['name-anchor']], + ['li:empty', ['third-li', 'fourth-li', 'fifth-li', 'sixth-li']], + [':root', ['html']], + ['html:root', ['html']], + ['li:root', []], + ['* :root', []], + ['*:contains("link")', ['html', 'outer-div', 'tag-anchor', 'nofollow-anchor']], + [':CONtains("link")', ['html', 'outer-div', 'tag-anchor', 'nofollow-anchor']], + ['*:contains("LInk")', []], // case sensitive + ['*:contains("e")', ['html', 'nil', 'outer-div', 'first-ol', 'first-li', 'paragraph', 'p-em']], + ['*:contains("E")', []], // case-sensitive + ['.a', ['first-ol']], + ['.b', ['first-ol']], + ['*.a', ['first-ol']], + ['ol.a', ['first-ol']], + ['.c', ['first-ol', 'third-li', 'fourth-li']], + ['*.c', ['first-ol', 'third-li', 'fourth-li']], + ['ol *.c', ['third-li', 'fourth-li']], + ['ol li.c', ['third-li', 'fourth-li']], + ['li ~ li.c', ['third-li', 'fourth-li']], + ['ol > li.c', ['third-li', 'fourth-li']], + ['#first-li', ['first-li']], + ['li#first-li', ['first-li']], + ['*#first-li', ['first-li']], + ['li div', ['li-div']], + ['li > div', ['li-div']], + ['div div', ['li-div']], + ['div > div', []], + ['div>.c', ['first-ol']], + ['div > .c', ['first-ol']], + ['div + div', ['foobar-div']], + ['a ~ a', ['tag-anchor', 'nofollow-anchor']], + ['a[rel="tag"] ~ a', ['nofollow-anchor']], + ['ol#first-ol li:last-child', ['seventh-li']], + ['ol#first-ol *:last-child', ['li-div', 'seventh-li']], + ['#outer-div:first-child', ['outer-div']], + ['#outer-div :first-child', ['name-anchor', 'first-li', 'li-div', 'p-b', 'checkbox-fieldset-disabled', 'area-href']], + ['a[href]', ['tag-anchor', 'nofollow-anchor']], + [':not(*)', []], + ['a:not([href])', ['name-anchor']], + ['ol :Not(li[class])', ['first-li', 'second-li', 'li-div', 'fifth-li', 'sixth-li', 'seventh-li']], // HTML-specific - array(':link', array('link-href', 'tag-anchor', 'nofollow-anchor', 'area-href')), - array(':visited', array()), - array(':enabled', array('link-href', 'tag-anchor', 'nofollow-anchor', 'checkbox-unchecked', 'text-checked', 'checkbox-checked', 'area-href')), - array(':disabled', array('checkbox-disabled', 'checkbox-disabled-checked', 'fieldset', 'checkbox-fieldset-disabled')), - array(':checked', array('checkbox-checked', 'checkbox-disabled-checked')), - ); + [':link', ['link-href', 'tag-anchor', 'nofollow-anchor', 'area-href']], + [':visited', []], + [':enabled', ['link-href', 'tag-anchor', 'nofollow-anchor', 'checkbox-unchecked', 'text-checked', 'checkbox-checked', 'area-href']], + [':disabled', ['checkbox-disabled', 'checkbox-disabled-checked', 'fieldset', 'checkbox-fieldset-disabled']], + [':checked', ['checkbox-checked', 'checkbox-disabled-checked']], + ]; } public function getHtmlShakespearTestData() { - return array( - array('*', 246), - array('div:contains(CELIA)', 26), - array('div:only-child', 22), // ? - array('div:nth-child(even)', 106), - array('div:nth-child(2n)', 106), - array('div:nth-child(odd)', 137), - array('div:nth-child(2n+1)', 137), - array('div:nth-child(n)', 243), - array('div:last-child', 53), - array('div:first-child', 51), - array('div > div', 242), - array('div + div', 190), - array('div ~ div', 190), - array('body', 1), - array('body div', 243), - array('div', 243), - array('div div', 242), - array('div div div', 241), - array('div, div, div', 243), - array('div, a, span', 243), - array('.dialog', 51), - array('div.dialog', 51), - array('div .dialog', 51), - array('div.character, div.dialog', 99), - array('div.direction.dialog', 0), - array('div.dialog.direction', 0), - array('div.dialog.scene', 1), - array('div.scene.scene', 1), - array('div.scene .scene', 0), - array('div.direction .dialog ', 0), - array('div .dialog .direction', 4), - array('div.dialog .dialog .direction', 4), - array('#speech5', 1), - array('div#speech5', 1), - array('div #speech5', 1), - array('div.scene div.dialog', 49), - array('div#scene1 div.dialog div', 142), - array('#scene1 #speech1', 1), - array('div[class]', 103), - array('div[class=dialog]', 50), - array('div[class^=dia]', 51), - array('div[class$=log]', 50), - array('div[class*=sce]', 1), - array('div[class|=dialog]', 50), // ? Seems right - array('div[class!=madeup]', 243), // ? Seems right - array('div[class~=dialog]', 51), // ? Seems right - ); + return [ + ['*', 246], + ['div:contains(CELIA)', 26], + ['div:only-child', 22], // ? + ['div:nth-child(even)', 106], + ['div:nth-child(2n)', 106], + ['div:nth-child(odd)', 137], + ['div:nth-child(2n+1)', 137], + ['div:nth-child(n)', 243], + ['div:last-child', 53], + ['div:first-child', 51], + ['div > div', 242], + ['div + div', 190], + ['div ~ div', 190], + ['body', 1], + ['body div', 243], + ['div', 243], + ['div div', 242], + ['div div div', 241], + ['div, div, div', 243], + ['div, a, span', 243], + ['.dialog', 51], + ['div.dialog', 51], + ['div .dialog', 51], + ['div.character, div.dialog', 99], + ['div.direction.dialog', 0], + ['div.dialog.direction', 0], + ['div.dialog.scene', 1], + ['div.scene.scene', 1], + ['div.scene .scene', 0], + ['div.direction .dialog ', 0], + ['div .dialog .direction', 4], + ['div.dialog .dialog .direction', 4], + ['#speech5', 1], + ['div#speech5', 1], + ['div #speech5', 1], + ['div.scene div.dialog', 49], + ['div#scene1 div.dialog div', 142], + ['#scene1 #speech1', 1], + ['div[class]', 103], + ['div[class=dialog]', 50], + ['div[class^=dia]', 51], + ['div[class$=log]', 50], + ['div[class*=sce]', 1], + ['div[class|=dialog]', 50], // ? Seems right + ['div[class!=madeup]', 243], // ? Seems right + ['div[class~=dialog]', 51], // ? Seems right + ]; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/AbstractExtension.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/AbstractExtension.php index 026ac06c79..1dce1eddff 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/AbstractExtension.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/AbstractExtension.php @@ -28,7 +28,7 @@ abstract class AbstractExtension implements ExtensionInterface */ public function getNodeTranslators() { - return array(); + return []; } /** @@ -36,7 +36,7 @@ abstract class AbstractExtension implements ExtensionInterface */ public function getCombinationTranslators() { - return array(); + return []; } /** @@ -44,7 +44,7 @@ abstract class AbstractExtension implements ExtensionInterface */ public function getFunctionTranslators() { - return array(); + return []; } /** @@ -52,7 +52,7 @@ abstract class AbstractExtension implements ExtensionInterface */ public function getPseudoClassTranslators() { - return array(); + return []; } /** @@ -60,6 +60,6 @@ abstract class AbstractExtension implements ExtensionInterface */ public function getAttributeMatchingTranslators() { - return array(); + return []; } } diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php index 2078dca61d..0571b3b765 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php @@ -31,16 +31,16 @@ class AttributeMatchingExtension extends AbstractExtension */ public function getAttributeMatchingTranslators() { - return array( - 'exists' => array($this, 'translateExists'), - '=' => array($this, 'translateEquals'), - '~=' => array($this, 'translateIncludes'), - '|=' => array($this, 'translateDashMatch'), - '^=' => array($this, 'translatePrefixMatch'), - '$=' => array($this, 'translateSuffixMatch'), - '*=' => array($this, 'translateSubstringMatch'), - '!=' => array($this, 'translateDifferent'), - ); + return [ + 'exists' => [$this, 'translateExists'], + '=' => [$this, 'translateEquals'], + '~=' => [$this, 'translateIncludes'], + '|=' => [$this, 'translateDashMatch'], + '^=' => [$this, 'translatePrefixMatch'], + '$=' => [$this, 'translateSuffixMatch'], + '*=' => [$this, 'translateSubstringMatch'], + '!=' => [$this, 'translateDifferent'], + ]; } /** diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/CombinationExtension.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/CombinationExtension.php index 0c9cc0320c..d962dc5ab2 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/CombinationExtension.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/CombinationExtension.php @@ -30,12 +30,12 @@ class CombinationExtension extends AbstractExtension */ public function getCombinationTranslators() { - return array( - ' ' => array($this, 'translateDescendant'), - '>' => array($this, 'translateChild'), - '+' => array($this, 'translateDirectAdjacent'), - '~' => array($this, 'translateIndirectAdjacent'), - ); + return [ + ' ' => [$this, 'translateDescendant'], + '>' => [$this, 'translateChild'], + '+' => [$this, 'translateDirectAdjacent'], + '~' => [$this, 'translateIndirectAdjacent'], + ]; } /** diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/FunctionExtension.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/FunctionExtension.php index 4d34d0ef24..a8e0b69f12 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/FunctionExtension.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/FunctionExtension.php @@ -35,14 +35,14 @@ class FunctionExtension extends AbstractExtension */ public function getFunctionTranslators() { - return array( - 'nth-child' => array($this, 'translateNthChild'), - 'nth-last-child' => array($this, 'translateNthLastChild'), - 'nth-of-type' => array($this, 'translateNthOfType'), - 'nth-last-of-type' => array($this, 'translateNthLastOfType'), - 'contains' => array($this, 'translateContains'), - 'lang' => array($this, 'translateLang'), - ); + return [ + 'nth-child' => [$this, 'translateNthChild'], + 'nth-last-child' => [$this, 'translateNthLastChild'], + 'nth-of-type' => [$this, 'translateNthOfType'], + 'nth-last-of-type' => [$this, 'translateNthLastOfType'], + 'contains' => [$this, 'translateContains'], + 'lang' => [$this, 'translateLang'], + ]; } /** @@ -93,7 +93,7 @@ class FunctionExtension extends AbstractExtension $expr .= ' - '.$b; } - $conditions = array(sprintf('%s %s 0', $expr, $sign)); + $conditions = [sprintf('%s %s 0', $expr, $sign)]; if (1 !== $a && -1 !== $a) { $conditions[] = sprintf('(%s) mod %d = 0', $expr, $a); diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/HtmlExtension.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/HtmlExtension.php index cd8e0d5fd8..99c1166c01 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/HtmlExtension.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/HtmlExtension.php @@ -41,16 +41,16 @@ class HtmlExtension extends AbstractExtension */ public function getPseudoClassTranslators() { - return array( - 'checked' => array($this, 'translateChecked'), - 'link' => array($this, 'translateLink'), - 'disabled' => array($this, 'translateDisabled'), - 'enabled' => array($this, 'translateEnabled'), - 'selected' => array($this, 'translateSelected'), - 'invalid' => array($this, 'translateInvalid'), - 'hover' => array($this, 'translateHover'), - 'visited' => array($this, 'translateVisited'), - ); + return [ + 'checked' => [$this, 'translateChecked'], + 'link' => [$this, 'translateLink'], + 'disabled' => [$this, 'translateDisabled'], + 'enabled' => [$this, 'translateEnabled'], + 'selected' => [$this, 'translateSelected'], + 'invalid' => [$this, 'translateInvalid'], + 'hover' => [$this, 'translateHover'], + 'visited' => [$this, 'translateVisited'], + ]; } /** @@ -58,9 +58,9 @@ class HtmlExtension extends AbstractExtension */ public function getFunctionTranslators() { - return array( - 'lang' => array($this, 'translateLang'), - ); + return [ + 'lang' => [$this, 'translateLang'], + ]; } /** diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/NodeExtension.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/NodeExtension.php index 715d9611a8..de222af349 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/NodeExtension.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/NodeExtension.php @@ -75,17 +75,17 @@ class NodeExtension extends AbstractExtension */ public function getNodeTranslators() { - return array( - 'Selector' => array($this, 'translateSelector'), - 'CombinedSelector' => array($this, 'translateCombinedSelector'), - 'Negation' => array($this, 'translateNegation'), - 'Function' => array($this, 'translateFunction'), - 'Pseudo' => array($this, 'translatePseudo'), - 'Attribute' => array($this, 'translateAttribute'), - 'Class' => array($this, 'translateClass'), - 'Hash' => array($this, 'translateHash'), - 'Element' => array($this, 'translateElement'), - ); + return [ + 'Selector' => [$this, 'translateSelector'], + 'CombinedSelector' => [$this, 'translateCombinedSelector'], + 'Negation' => [$this, 'translateNegation'], + 'Function' => [$this, 'translateFunction'], + 'Pseudo' => [$this, 'translatePseudo'], + 'Attribute' => [$this, 'translateAttribute'], + 'Class' => [$this, 'translateClass'], + 'Hash' => [$this, 'translateHash'], + 'Element' => [$this, 'translateElement'], + ]; } /** diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/PseudoClassExtension.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/PseudoClassExtension.php index 378dfb7de1..27fe47f9a5 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/PseudoClassExtension.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Extension/PseudoClassExtension.php @@ -31,16 +31,16 @@ class PseudoClassExtension extends AbstractExtension */ public function getPseudoClassTranslators() { - return array( - 'root' => array($this, 'translateRoot'), - 'first-child' => array($this, 'translateFirstChild'), - 'last-child' => array($this, 'translateLastChild'), - 'first-of-type' => array($this, 'translateFirstOfType'), - 'last-of-type' => array($this, 'translateLastOfType'), - 'only-child' => array($this, 'translateOnlyChild'), - 'only-of-type' => array($this, 'translateOnlyOfType'), - 'empty' => array($this, 'translateEmpty'), - ); + return [ + 'root' => [$this, 'translateRoot'], + 'first-child' => [$this, 'translateFirstChild'], + 'last-child' => [$this, 'translateLastChild'], + 'first-of-type' => [$this, 'translateFirstOfType'], + 'last-of-type' => [$this, 'translateLastOfType'], + 'only-child' => [$this, 'translateOnlyChild'], + 'only-of-type' => [$this, 'translateOnlyOfType'], + 'empty' => [$this, 'translateEmpty'], + ]; } /** diff --git a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Translator.php b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Translator.php index f8585a057d..d078126772 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Translator.php +++ b/wcfsetup/install/files/lib/system/api/symfony/css-selector/XPath/Translator.php @@ -35,18 +35,18 @@ class Translator implements TranslatorInterface /** * @var ParserInterface[] */ - private $shortcutParsers = array(); + private $shortcutParsers = []; /** * @var Extension\ExtensionInterface[] */ - private $extensions = array(); + private $extensions = []; - private $nodeTranslators = array(); - private $combinationTranslators = array(); - private $functionTranslators = array(); - private $pseudoClassTranslators = array(); - private $attributeMatchingTranslators = array(); + private $nodeTranslators = []; + private $combinationTranslators = []; + private $functionTranslators = []; + private $pseudoClassTranslators = []; + private $attributeMatchingTranslators = []; public function __construct(ParserInterface $parser = null) { @@ -77,7 +77,7 @@ class Translator implements TranslatorInterface } $string = $element; - $parts = array(); + $parts = []; while (true) { if (false !== $pos = strpos($string, "'")) { $parts[] = sprintf("'%s'", substr($string, 0, $pos)); diff --git a/wcfsetup/install/files/lib/system/api/symfony/polyfill-mbstring/LICENSE b/wcfsetup/install/files/lib/system/api/symfony/polyfill-mbstring/LICENSE index 24fa32c2e9..4cd8bdd300 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/polyfill-mbstring/LICENSE +++ b/wcfsetup/install/files/lib/system/api/symfony/polyfill-mbstring/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2015-2018 Fabien Potencier +Copyright (c) 2015-2019 Fabien Potencier Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/wcfsetup/install/files/lib/system/api/symfony/polyfill-mbstring/composer.json b/wcfsetup/install/files/lib/system/api/symfony/polyfill-mbstring/composer.json index 50ea12f1bb..0bce08782e 100644 --- a/wcfsetup/install/files/lib/system/api/symfony/polyfill-mbstring/composer.json +++ b/wcfsetup/install/files/lib/system/api/symfony/polyfill-mbstring/composer.json @@ -28,7 +28,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "1.9-dev" + "dev-master": "1.11-dev" } } }