update2
This commit is contained in:
parent
98419bd18d
commit
8a69e45efa
4919 changed files with 28311 additions and 224136 deletions
0
pfosten/vendor/symfony/css-selector/.gitignore
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/.gitignore
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/CHANGELOG.md
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/CHANGELOG.md
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/CssSelectorConverter.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/CssSelectorConverter.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Exception/ExceptionInterface.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Exception/ExceptionInterface.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Exception/ExpressionErrorException.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Exception/ExpressionErrorException.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Exception/InternalErrorException.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Exception/InternalErrorException.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Exception/ParseException.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Exception/ParseException.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Exception/SyntaxErrorException.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Exception/SyntaxErrorException.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/LICENSE
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/LICENSE
vendored
Executable file → Normal file
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2004-2017 Fabien Potencier
|
||||
Copyright (c) 2004-2018 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
|
||||
|
|
|
|||
2
pfosten/vendor/symfony/css-selector/Node/AbstractNode.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Node/AbstractNode.php
vendored
Executable file → Normal file
|
|
@ -34,7 +34,7 @@ abstract class AbstractNode implements NodeInterface
|
|||
public function getNodeName()
|
||||
{
|
||||
if (null === $this->nodeName) {
|
||||
$this->nodeName = preg_replace('~.*\\\\([^\\\\]+)Node$~', '$1', get_called_class());
|
||||
$this->nodeName = preg_replace('~.*\\\\([^\\\\]+)Node$~', '$1', \get_called_class());
|
||||
}
|
||||
|
||||
return $this->nodeName;
|
||||
|
|
|
|||
19
pfosten/vendor/symfony/css-selector/Node/AttributeNode.php
vendored
Executable file → Normal file
19
pfosten/vendor/symfony/css-selector/Node/AttributeNode.php
vendored
Executable file → Normal file
|
|
@ -23,29 +23,10 @@ namespace Symfony\Component\CssSelector\Node;
|
|||
*/
|
||||
class AttributeNode extends AbstractNode
|
||||
{
|
||||
/**
|
||||
* @var NodeInterface
|
||||
*/
|
||||
private $selector;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $namespace;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $attribute;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $operator;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $value;
|
||||
|
||||
/**
|
||||
|
|
|
|||
7
pfosten/vendor/symfony/css-selector/Node/ClassNode.php
vendored
Executable file → Normal file
7
pfosten/vendor/symfony/css-selector/Node/ClassNode.php
vendored
Executable file → Normal file
|
|
@ -23,14 +23,7 @@ namespace Symfony\Component\CssSelector\Node;
|
|||
*/
|
||||
class ClassNode extends AbstractNode
|
||||
{
|
||||
/**
|
||||
* @var NodeInterface
|
||||
*/
|
||||
private $selector;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $name;
|
||||
|
||||
/**
|
||||
|
|
|
|||
11
pfosten/vendor/symfony/css-selector/Node/CombinedSelectorNode.php
vendored
Executable file → Normal file
11
pfosten/vendor/symfony/css-selector/Node/CombinedSelectorNode.php
vendored
Executable file → Normal file
|
|
@ -23,19 +23,8 @@ namespace Symfony\Component\CssSelector\Node;
|
|||
*/
|
||||
class CombinedSelectorNode extends AbstractNode
|
||||
{
|
||||
/**
|
||||
* @var NodeInterface
|
||||
*/
|
||||
private $selector;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $combinator;
|
||||
|
||||
/**
|
||||
* @var NodeInterface
|
||||
*/
|
||||
private $subSelector;
|
||||
|
||||
/**
|
||||
|
|
|
|||
7
pfosten/vendor/symfony/css-selector/Node/ElementNode.php
vendored
Executable file → Normal file
7
pfosten/vendor/symfony/css-selector/Node/ElementNode.php
vendored
Executable file → Normal file
|
|
@ -23,14 +23,7 @@ namespace Symfony\Component\CssSelector\Node;
|
|||
*/
|
||||
class ElementNode extends AbstractNode
|
||||
{
|
||||
/**
|
||||
* @var string|null
|
||||
*/
|
||||
private $namespace;
|
||||
|
||||
/**
|
||||
* @var string|null
|
||||
*/
|
||||
private $element;
|
||||
|
||||
/**
|
||||
|
|
|
|||
11
pfosten/vendor/symfony/css-selector/Node/FunctionNode.php
vendored
Executable file → Normal file
11
pfosten/vendor/symfony/css-selector/Node/FunctionNode.php
vendored
Executable file → Normal file
|
|
@ -25,19 +25,8 @@ use Symfony\Component\CssSelector\Parser\Token;
|
|||
*/
|
||||
class FunctionNode extends AbstractNode
|
||||
{
|
||||
/**
|
||||
* @var NodeInterface
|
||||
*/
|
||||
private $selector;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $name;
|
||||
|
||||
/**
|
||||
* @var Token[]
|
||||
*/
|
||||
private $arguments;
|
||||
|
||||
/**
|
||||
|
|
|
|||
7
pfosten/vendor/symfony/css-selector/Node/HashNode.php
vendored
Executable file → Normal file
7
pfosten/vendor/symfony/css-selector/Node/HashNode.php
vendored
Executable file → Normal file
|
|
@ -23,14 +23,7 @@ namespace Symfony\Component\CssSelector\Node;
|
|||
*/
|
||||
class HashNode extends AbstractNode
|
||||
{
|
||||
/**
|
||||
* @var NodeInterface
|
||||
*/
|
||||
private $selector;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $id;
|
||||
|
||||
/**
|
||||
|
|
|
|||
11
pfosten/vendor/symfony/css-selector/Node/NegationNode.php
vendored
Executable file → Normal file
11
pfosten/vendor/symfony/css-selector/Node/NegationNode.php
vendored
Executable file → Normal file
|
|
@ -23,20 +23,9 @@ namespace Symfony\Component\CssSelector\Node;
|
|||
*/
|
||||
class NegationNode extends AbstractNode
|
||||
{
|
||||
/**
|
||||
* @var NodeInterface
|
||||
*/
|
||||
private $selector;
|
||||
|
||||
/**
|
||||
* @var NodeInterface
|
||||
*/
|
||||
private $subSelector;
|
||||
|
||||
/**
|
||||
* @param NodeInterface $selector
|
||||
* @param NodeInterface $subSelector
|
||||
*/
|
||||
public function __construct(NodeInterface $selector, NodeInterface $subSelector)
|
||||
{
|
||||
$this->selector = $selector;
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/Node/NodeInterface.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Node/NodeInterface.php
vendored
Executable file → Normal file
7
pfosten/vendor/symfony/css-selector/Node/PseudoNode.php
vendored
Executable file → Normal file
7
pfosten/vendor/symfony/css-selector/Node/PseudoNode.php
vendored
Executable file → Normal file
|
|
@ -23,14 +23,7 @@ namespace Symfony\Component\CssSelector\Node;
|
|||
*/
|
||||
class PseudoNode extends AbstractNode
|
||||
{
|
||||
/**
|
||||
* @var NodeInterface
|
||||
*/
|
||||
private $selector;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $identifier;
|
||||
|
||||
/**
|
||||
|
|
|
|||
7
pfosten/vendor/symfony/css-selector/Node/SelectorNode.php
vendored
Executable file → Normal file
7
pfosten/vendor/symfony/css-selector/Node/SelectorNode.php
vendored
Executable file → Normal file
|
|
@ -23,14 +23,7 @@ namespace Symfony\Component\CssSelector\Node;
|
|||
*/
|
||||
class SelectorNode extends AbstractNode
|
||||
{
|
||||
/**
|
||||
* @var NodeInterface
|
||||
*/
|
||||
private $tree;
|
||||
|
||||
/**
|
||||
* @var null|string
|
||||
*/
|
||||
private $pseudoElement;
|
||||
|
||||
/**
|
||||
|
|
|
|||
21
pfosten/vendor/symfony/css-selector/Node/Specificity.php
vendored
Executable file → Normal file
21
pfosten/vendor/symfony/css-selector/Node/Specificity.php
vendored
Executable file → Normal file
|
|
@ -29,24 +29,11 @@ class Specificity
|
|||
const B_FACTOR = 10;
|
||||
const C_FACTOR = 1;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $a;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $b;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $c;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param int $a
|
||||
* @param int $b
|
||||
* @param int $c
|
||||
|
|
@ -59,11 +46,9 @@ class Specificity
|
|||
}
|
||||
|
||||
/**
|
||||
* @param Specificity $specificity
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function plus(Specificity $specificity)
|
||||
public function plus(self $specificity)
|
||||
{
|
||||
return new self($this->a + $specificity->a, $this->b + $specificity->b, $this->c + $specificity->c);
|
||||
}
|
||||
|
|
@ -82,11 +67,9 @@ class Specificity
|
|||
* Returns -1 if the object specificity is lower than the argument,
|
||||
* 0 if they are equal, and 1 if the argument is lower.
|
||||
*
|
||||
* @param Specificity $specificity
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function compareTo(Specificity $specificity)
|
||||
public function compareTo(self $specificity)
|
||||
{
|
||||
if ($this->a !== $specificity->a) {
|
||||
return $this->a > $specificity->a ? 1 : -1;
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/Parser/Handler/CommentHandler.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Parser/Handler/CommentHandler.php
vendored
Executable file → Normal file
3
pfosten/vendor/symfony/css-selector/Parser/Handler/HandlerInterface.php
vendored
Executable file → Normal file
3
pfosten/vendor/symfony/css-selector/Parser/Handler/HandlerInterface.php
vendored
Executable file → Normal file
|
|
@ -27,9 +27,6 @@ use Symfony\Component\CssSelector\Parser\TokenStream;
|
|||
interface HandlerInterface
|
||||
{
|
||||
/**
|
||||
* @param Reader $reader
|
||||
* @param TokenStream $stream
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function handle(Reader $reader, TokenStream $stream);
|
||||
|
|
|
|||
15
pfosten/vendor/symfony/css-selector/Parser/Handler/HashHandler.php
vendored
Executable file → Normal file
15
pfosten/vendor/symfony/css-selector/Parser/Handler/HashHandler.php
vendored
Executable file → Normal file
|
|
@ -13,9 +13,9 @@ namespace Symfony\Component\CssSelector\Parser\Handler;
|
|||
|
||||
use Symfony\Component\CssSelector\Parser\Reader;
|
||||
use Symfony\Component\CssSelector\Parser\Token;
|
||||
use Symfony\Component\CssSelector\Parser\TokenStream;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
|
||||
use Symfony\Component\CssSelector\Parser\TokenStream;
|
||||
|
||||
/**
|
||||
* CSS selector comment handler.
|
||||
|
|
@ -29,20 +29,9 @@ use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
|
|||
*/
|
||||
class HashHandler implements HandlerInterface
|
||||
{
|
||||
/**
|
||||
* @var TokenizerPatterns
|
||||
*/
|
||||
private $patterns;
|
||||
|
||||
/**
|
||||
* @var TokenizerEscaping
|
||||
*/
|
||||
private $escaping;
|
||||
|
||||
/**
|
||||
* @param TokenizerPatterns $patterns
|
||||
* @param TokenizerEscaping $escaping
|
||||
*/
|
||||
public function __construct(TokenizerPatterns $patterns, TokenizerEscaping $escaping)
|
||||
{
|
||||
$this->patterns = $patterns;
|
||||
|
|
@ -62,7 +51,7 @@ class HashHandler implements HandlerInterface
|
|||
|
||||
$value = $this->escaping->escapeUnicode($match[1]);
|
||||
$stream->push(new Token(Token::TYPE_HASH, $value, $reader->getPosition()));
|
||||
$reader->moveForward(strlen($match[0]));
|
||||
$reader->moveForward(\strlen($match[0]));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
15
pfosten/vendor/symfony/css-selector/Parser/Handler/IdentifierHandler.php
vendored
Executable file → Normal file
15
pfosten/vendor/symfony/css-selector/Parser/Handler/IdentifierHandler.php
vendored
Executable file → Normal file
|
|
@ -13,9 +13,9 @@ namespace Symfony\Component\CssSelector\Parser\Handler;
|
|||
|
||||
use Symfony\Component\CssSelector\Parser\Reader;
|
||||
use Symfony\Component\CssSelector\Parser\Token;
|
||||
use Symfony\Component\CssSelector\Parser\TokenStream;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
|
||||
use Symfony\Component\CssSelector\Parser\TokenStream;
|
||||
|
||||
/**
|
||||
* CSS selector comment handler.
|
||||
|
|
@ -29,20 +29,9 @@ use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
|
|||
*/
|
||||
class IdentifierHandler implements HandlerInterface
|
||||
{
|
||||
/**
|
||||
* @var TokenizerPatterns
|
||||
*/
|
||||
private $patterns;
|
||||
|
||||
/**
|
||||
* @var TokenizerEscaping
|
||||
*/
|
||||
private $escaping;
|
||||
|
||||
/**
|
||||
* @param TokenizerPatterns $patterns
|
||||
* @param TokenizerEscaping $escaping
|
||||
*/
|
||||
public function __construct(TokenizerPatterns $patterns, TokenizerEscaping $escaping)
|
||||
{
|
||||
$this->patterns = $patterns;
|
||||
|
|
@ -62,7 +51,7 @@ class IdentifierHandler implements HandlerInterface
|
|||
|
||||
$value = $this->escaping->escapeUnicode($match[0]);
|
||||
$stream->push(new Token(Token::TYPE_IDENTIFIER, $value, $reader->getPosition()));
|
||||
$reader->moveForward(strlen($match[0]));
|
||||
$reader->moveForward(\strlen($match[0]));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
10
pfosten/vendor/symfony/css-selector/Parser/Handler/NumberHandler.php
vendored
Executable file → Normal file
10
pfosten/vendor/symfony/css-selector/Parser/Handler/NumberHandler.php
vendored
Executable file → Normal file
|
|
@ -13,8 +13,8 @@ namespace Symfony\Component\CssSelector\Parser\Handler;
|
|||
|
||||
use Symfony\Component\CssSelector\Parser\Reader;
|
||||
use Symfony\Component\CssSelector\Parser\Token;
|
||||
use Symfony\Component\CssSelector\Parser\TokenStream;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
|
||||
use Symfony\Component\CssSelector\Parser\TokenStream;
|
||||
|
||||
/**
|
||||
* CSS selector comment handler.
|
||||
|
|
@ -28,14 +28,8 @@ use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
|
|||
*/
|
||||
class NumberHandler implements HandlerInterface
|
||||
{
|
||||
/**
|
||||
* @var TokenizerPatterns
|
||||
*/
|
||||
private $patterns;
|
||||
|
||||
/**
|
||||
* @param TokenizerPatterns $patterns
|
||||
*/
|
||||
public function __construct(TokenizerPatterns $patterns)
|
||||
{
|
||||
$this->patterns = $patterns;
|
||||
|
|
@ -53,7 +47,7 @@ class NumberHandler implements HandlerInterface
|
|||
}
|
||||
|
||||
$stream->push(new Token(Token::TYPE_NUMBER, $match[0], $reader->getPosition()));
|
||||
$reader->moveForward(strlen($match[0]));
|
||||
$reader->moveForward(\strlen($match[0]));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
21
pfosten/vendor/symfony/css-selector/Parser/Handler/StringHandler.php
vendored
Executable file → Normal file
21
pfosten/vendor/symfony/css-selector/Parser/Handler/StringHandler.php
vendored
Executable file → Normal file
|
|
@ -15,9 +15,9 @@ use Symfony\Component\CssSelector\Exception\InternalErrorException;
|
|||
use Symfony\Component\CssSelector\Exception\SyntaxErrorException;
|
||||
use Symfony\Component\CssSelector\Parser\Reader;
|
||||
use Symfony\Component\CssSelector\Parser\Token;
|
||||
use Symfony\Component\CssSelector\Parser\TokenStream;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
|
||||
use Symfony\Component\CssSelector\Parser\TokenStream;
|
||||
|
||||
/**
|
||||
* CSS selector comment handler.
|
||||
|
|
@ -31,20 +31,9 @@ use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
|
|||
*/
|
||||
class StringHandler implements HandlerInterface
|
||||
{
|
||||
/**
|
||||
* @var TokenizerPatterns
|
||||
*/
|
||||
private $patterns;
|
||||
|
||||
/**
|
||||
* @var TokenizerEscaping
|
||||
*/
|
||||
private $escaping;
|
||||
|
||||
/**
|
||||
* @param TokenizerPatterns $patterns
|
||||
* @param TokenizerEscaping $escaping
|
||||
*/
|
||||
public function __construct(TokenizerPatterns $patterns, TokenizerEscaping $escaping)
|
||||
{
|
||||
$this->patterns = $patterns;
|
||||
|
|
@ -58,7 +47,7 @@ class StringHandler implements HandlerInterface
|
|||
{
|
||||
$quote = $reader->getSubstring(1);
|
||||
|
||||
if (!in_array($quote, array("'", '"'))) {
|
||||
if (!\in_array($quote, array("'", '"'))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -70,18 +59,18 @@ class StringHandler implements HandlerInterface
|
|||
}
|
||||
|
||||
// check unclosed strings
|
||||
if (strlen($match[0]) === $reader->getRemainingLength()) {
|
||||
if (\strlen($match[0]) === $reader->getRemainingLength()) {
|
||||
throw SyntaxErrorException::unclosedString($reader->getPosition() - 1);
|
||||
}
|
||||
|
||||
// check quotes pairs validity
|
||||
if ($quote !== $reader->getSubstring(1, strlen($match[0]))) {
|
||||
if ($quote !== $reader->getSubstring(1, \strlen($match[0]))) {
|
||||
throw SyntaxErrorException::unclosedString($reader->getPosition() - 1);
|
||||
}
|
||||
|
||||
$string = $this->escaping->escapeUnicodeAndNewLine($match[0]);
|
||||
$stream->push(new Token(Token::TYPE_STRING, $string, $reader->getPosition()));
|
||||
$reader->moveForward(strlen($match[0]) + 1);
|
||||
$reader->moveForward(\strlen($match[0]) + 1);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
2
pfosten/vendor/symfony/css-selector/Parser/Handler/WhitespaceHandler.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Parser/Handler/WhitespaceHandler.php
vendored
Executable file → Normal file
|
|
@ -39,7 +39,7 @@ class WhitespaceHandler implements HandlerInterface
|
|||
}
|
||||
|
||||
$stream->push(new Token(Token::TYPE_WHITESPACE, $match[0], $reader->getPosition()));
|
||||
$reader->moveForward(strlen($match[0]));
|
||||
$reader->moveForward(\strlen($match[0]));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
23
pfosten/vendor/symfony/css-selector/Parser/Parser.php
vendored
Executable file → Normal file
23
pfosten/vendor/symfony/css-selector/Parser/Parser.php
vendored
Executable file → Normal file
|
|
@ -27,16 +27,8 @@ use Symfony\Component\CssSelector\Parser\Tokenizer\Tokenizer;
|
|||
*/
|
||||
class Parser implements ParserInterface
|
||||
{
|
||||
/**
|
||||
* @var Tokenizer
|
||||
*/
|
||||
private $tokenizer;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param null|Tokenizer $tokenizer
|
||||
*/
|
||||
public function __construct(Tokenizer $tokenizer = null)
|
||||
{
|
||||
$this->tokenizer = $tokenizer ?: new Tokenizer();
|
||||
|
|
@ -105,8 +97,6 @@ class Parser implements ParserInterface
|
|||
/**
|
||||
* Parses selector nodes.
|
||||
*
|
||||
* @param TokenStream $stream
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function parseSelectorList(TokenStream $stream)
|
||||
|
|
@ -131,8 +121,6 @@ class Parser implements ParserInterface
|
|||
/**
|
||||
* Parses next selector or combined node.
|
||||
*
|
||||
* @param TokenStream $stream
|
||||
*
|
||||
* @return Node\SelectorNode
|
||||
*
|
||||
* @throws SyntaxErrorException
|
||||
|
|
@ -181,7 +169,7 @@ class Parser implements ParserInterface
|
|||
{
|
||||
$stream->skipWhitespace();
|
||||
|
||||
$selectorStart = count($stream->getUsed());
|
||||
$selectorStart = \count($stream->getUsed());
|
||||
$result = $this->parseElementNode($stream);
|
||||
$pseudoElement = null;
|
||||
|
||||
|
|
@ -218,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), array('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;
|
||||
|
|
@ -284,7 +272,7 @@ class Parser implements ParserInterface
|
|||
}
|
||||
}
|
||||
|
||||
if (count($stream->getUsed()) === $selectorStart) {
|
||||
if (\count($stream->getUsed()) === $selectorStart) {
|
||||
throw SyntaxErrorException::unexpectedToken('selector', $stream->getPeek());
|
||||
}
|
||||
|
||||
|
|
@ -294,8 +282,6 @@ class Parser implements ParserInterface
|
|||
/**
|
||||
* Parses next element node.
|
||||
*
|
||||
* @param TokenStream $stream
|
||||
*
|
||||
* @return Node\ElementNode
|
||||
*/
|
||||
private function parseElementNode(TokenStream $stream)
|
||||
|
|
@ -327,9 +313,6 @@ class Parser implements ParserInterface
|
|||
/**
|
||||
* Parses next attribute node.
|
||||
*
|
||||
* @param Node\NodeInterface $selector
|
||||
* @param TokenStream $stream
|
||||
*
|
||||
* @return Node\AttributeNode
|
||||
*
|
||||
* @throws SyntaxErrorException
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/Parser/ParserInterface.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Parser/ParserInterface.php
vendored
Executable file → Normal file
13
pfosten/vendor/symfony/css-selector/Parser/Reader.php
vendored
Executable file → Normal file
13
pfosten/vendor/symfony/css-selector/Parser/Reader.php
vendored
Executable file → Normal file
|
|
@ -23,19 +23,8 @@ namespace Symfony\Component\CssSelector\Parser;
|
|||
*/
|
||||
class Reader
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $source;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $length;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $position = 0;
|
||||
|
||||
/**
|
||||
|
|
@ -44,7 +33,7 @@ class Reader
|
|||
public function __construct($source)
|
||||
{
|
||||
$this->source = $source;
|
||||
$this->length = strlen($source);
|
||||
$this->length = \strlen($source);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/Parser/Shortcut/ClassParser.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Parser/Shortcut/ClassParser.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Parser/Shortcut/ElementParser.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Parser/Shortcut/ElementParser.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php
vendored
Executable file → Normal file
|
|
@ -37,7 +37,7 @@ class EmptyStringParser implements ParserInterface
|
|||
public function parse($source)
|
||||
{
|
||||
// Matches an empty string
|
||||
if ($source == '') {
|
||||
if ('' == $source) {
|
||||
return array(new SelectorNode(new ElementNode(null, '*')));
|
||||
}
|
||||
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/Parser/Shortcut/HashParser.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Parser/Shortcut/HashParser.php
vendored
Executable file → Normal file
15
pfosten/vendor/symfony/css-selector/Parser/Token.php
vendored
Executable file → Normal file
15
pfosten/vendor/symfony/css-selector/Parser/Token.php
vendored
Executable file → Normal file
|
|
@ -31,19 +31,8 @@ class Token
|
|||
const TYPE_NUMBER = 'number';
|
||||
const TYPE_STRING = 'string';
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $type;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $value;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $position;
|
||||
|
||||
/**
|
||||
|
|
@ -91,8 +80,6 @@ class Token
|
|||
}
|
||||
|
||||
/**
|
||||
* @param array $values
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isDelimiter(array $values = array())
|
||||
|
|
@ -105,7 +92,7 @@ class Token
|
|||
return true;
|
||||
}
|
||||
|
||||
return in_array($this->value, $values);
|
||||
return \in_array($this->value, $values);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
11
pfosten/vendor/symfony/css-selector/Parser/TokenStream.php
vendored
Executable file → Normal file
11
pfosten/vendor/symfony/css-selector/Parser/TokenStream.php
vendored
Executable file → Normal file
|
|
@ -31,11 +31,6 @@ class TokenStream
|
|||
*/
|
||||
private $tokens = array();
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
private $frozen = false;
|
||||
|
||||
/**
|
||||
* @var Token[]
|
||||
*/
|
||||
|
|
@ -49,7 +44,7 @@ class TokenStream
|
|||
/**
|
||||
* @var Token|null
|
||||
*/
|
||||
private $peeked = null;
|
||||
private $peeked;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
|
|
@ -59,8 +54,6 @@ class TokenStream
|
|||
/**
|
||||
* Pushes a token.
|
||||
*
|
||||
* @param Token $token
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function push(Token $token)
|
||||
|
|
@ -77,8 +70,6 @@ class TokenStream
|
|||
*/
|
||||
public function freeze()
|
||||
{
|
||||
$this->frozen = true;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
|
|
|||
5
pfosten/vendor/symfony/css-selector/Parser/Tokenizer/Tokenizer.php
vendored
Executable file → Normal file
5
pfosten/vendor/symfony/css-selector/Parser/Tokenizer/Tokenizer.php
vendored
Executable file → Normal file
|
|
@ -33,9 +33,6 @@ class Tokenizer
|
|||
*/
|
||||
private $handlers;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$patterns = new TokenizerPatterns();
|
||||
|
|
@ -54,8 +51,6 @@ class Tokenizer
|
|||
/**
|
||||
* Tokenize selector source code.
|
||||
*
|
||||
* @param Reader $reader
|
||||
*
|
||||
* @return TokenStream
|
||||
*/
|
||||
public function tokenize(Reader $reader)
|
||||
|
|
|
|||
12
pfosten/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerEscaping.php
vendored
Executable file → Normal file
12
pfosten/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerEscaping.php
vendored
Executable file → Normal file
|
|
@ -23,14 +23,8 @@ namespace Symfony\Component\CssSelector\Parser\Tokenizer;
|
|||
*/
|
||||
class TokenizerEscaping
|
||||
{
|
||||
/**
|
||||
* @var TokenizerPatterns
|
||||
*/
|
||||
private $patterns;
|
||||
|
||||
/**
|
||||
* @param TokenizerPatterns $patterns
|
||||
*/
|
||||
public function __construct(TokenizerPatterns $patterns)
|
||||
{
|
||||
$this->patterns = $patterns;
|
||||
|
|
@ -71,13 +65,13 @@ class TokenizerEscaping
|
|||
$c = hexdec($match[1]);
|
||||
|
||||
if (0x80 > $c %= 0x200000) {
|
||||
return chr($c);
|
||||
return \chr($c);
|
||||
}
|
||||
if (0x800 > $c) {
|
||||
return chr(0xC0 | $c >> 6).chr(0x80 | $c & 0x3F);
|
||||
return \chr(0xC0 | $c >> 6).\chr(0x80 | $c & 0x3F);
|
||||
}
|
||||
if (0x10000 > $c) {
|
||||
return chr(0xE0 | $c >> 12).chr(0x80 | $c >> 6 & 0x3F).chr(0x80 | $c & 0x3F);
|
||||
return \chr(0xE0 | $c >> 12).\chr(0x80 | $c >> 6 & 0x3F).\chr(0x80 | $c & 0x3F);
|
||||
}
|
||||
}, $value);
|
||||
}
|
||||
|
|
|
|||
52
pfosten/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerPatterns.php
vendored
Executable file → Normal file
52
pfosten/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerPatterns.php
vendored
Executable file → Normal file
|
|
@ -23,69 +23,19 @@ namespace Symfony\Component\CssSelector\Parser\Tokenizer;
|
|||
*/
|
||||
class TokenizerPatterns
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $unicodeEscapePattern;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $simpleEscapePattern;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $newLineEscapePattern;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $escapePattern;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $stringEscapePattern;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $nonAsciiPattern;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $nmCharPattern;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $nmStartPattern;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $identifierPattern;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $hashPattern;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $numberPattern;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $quotedStringPattern;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->unicodeEscapePattern = '\\\\([0-9a-f]{1,6})(?:\r\n|[ \n\r\t\f])?';
|
||||
|
|
@ -96,7 +46,7 @@ class TokenizerPatterns
|
|||
$this->nonAsciiPattern = '[^\x00-\x7F]';
|
||||
$this->nmCharPattern = '[_a-z0-9-]|'.$this->escapePattern.'|'.$this->nonAsciiPattern;
|
||||
$this->nmStartPattern = '[_a-z]|'.$this->escapePattern.'|'.$this->nonAsciiPattern;
|
||||
$this->identifierPattern = '(?:'.$this->nmStartPattern.')(?:'.$this->nmCharPattern.')*';
|
||||
$this->identifierPattern = '-?(?:'.$this->nmStartPattern.')(?:'.$this->nmCharPattern.')*';
|
||||
$this->hashPattern = '#((?:'.$this->nmCharPattern.')+)';
|
||||
$this->numberPattern = '[+-]?(?:[0-9]*\.[0-9]+|[0-9]+)';
|
||||
$this->quotedStringPattern = '([^\n\r\f%s]|'.$this->stringEscapePattern.')*';
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/README.md
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/README.md
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Tests/CssSelectorConverterTest.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Tests/CssSelectorConverterTest.php
vendored
Executable file → Normal file
|
|
@ -59,7 +59,7 @@ class CssSelectorConverterTest extends TestCase
|
|||
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: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 ')]"),
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/Tests/Node/AbstractNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/AbstractNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/AttributeNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/AttributeNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/ClassNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/ClassNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/CombinedSelectorNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/CombinedSelectorNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/ElementNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/ElementNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/FunctionNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/FunctionNodeTest.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Tests/Node/HashNodeTest.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Tests/Node/HashNodeTest.php
vendored
Executable file → Normal file
|
|
@ -11,8 +11,8 @@
|
|||
|
||||
namespace Symfony\Component\CssSelector\Tests\Node;
|
||||
|
||||
use Symfony\Component\CssSelector\Node\HashNode;
|
||||
use Symfony\Component\CssSelector\Node\ElementNode;
|
||||
use Symfony\Component\CssSelector\Node\HashNode;
|
||||
|
||||
class HashNodeTest extends AbstractNodeTest
|
||||
{
|
||||
|
|
|
|||
2
pfosten/vendor/symfony/css-selector/Tests/Node/NegationNodeTest.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Tests/Node/NegationNodeTest.php
vendored
Executable file → Normal file
|
|
@ -12,8 +12,8 @@
|
|||
namespace Symfony\Component\CssSelector\Tests\Node;
|
||||
|
||||
use Symfony\Component\CssSelector\Node\ClassNode;
|
||||
use Symfony\Component\CssSelector\Node\NegationNode;
|
||||
use Symfony\Component\CssSelector\Node\ElementNode;
|
||||
use Symfony\Component\CssSelector\Node\NegationNode;
|
||||
|
||||
class NegationNodeTest extends AbstractNodeTest
|
||||
{
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/Tests/Node/PseudoNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/PseudoNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/SelectorNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/SelectorNodeTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/SpecificityTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Node/SpecificityTest.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Tests/Parser/Handler/AbstractHandlerTest.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Tests/Parser/Handler/AbstractHandlerTest.php
vendored
Executable file → Normal file
|
|
@ -63,7 +63,7 @@ abstract class AbstractHandlerTest extends TestCase
|
|||
$this->assertEquals(0, $reader->getRemainingLength());
|
||||
$this->assertTrue($reader->isEOF());
|
||||
} else {
|
||||
$this->assertEquals(strlen($remainingContent), $reader->getRemainingLength());
|
||||
$this->assertEquals(\strlen($remainingContent), $reader->getRemainingLength());
|
||||
$this->assertEquals(0, $reader->getOffset($remainingContent));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/Tests/Parser/Handler/CommentHandlerTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Parser/Handler/CommentHandlerTest.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Tests/Parser/Handler/HashHandlerTest.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Tests/Parser/Handler/HashHandlerTest.php
vendored
Executable file → Normal file
|
|
@ -13,8 +13,8 @@ namespace Symfony\Component\CssSelector\Tests\Parser\Handler;
|
|||
|
||||
use Symfony\Component\CssSelector\Parser\Handler\HashHandler;
|
||||
use Symfony\Component\CssSelector\Parser\Token;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
|
||||
|
||||
class HashHandlerTest extends AbstractHandlerTest
|
||||
{
|
||||
|
|
|
|||
2
pfosten/vendor/symfony/css-selector/Tests/Parser/Handler/IdentifierHandlerTest.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Tests/Parser/Handler/IdentifierHandlerTest.php
vendored
Executable file → Normal file
|
|
@ -13,8 +13,8 @@ namespace Symfony\Component\CssSelector\Tests\Parser\Handler;
|
|||
|
||||
use Symfony\Component\CssSelector\Parser\Handler\IdentifierHandler;
|
||||
use Symfony\Component\CssSelector\Parser\Token;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
|
||||
|
||||
class IdentifierHandlerTest extends AbstractHandlerTest
|
||||
{
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/Tests/Parser/Handler/NumberHandlerTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Parser/Handler/NumberHandlerTest.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Tests/Parser/Handler/StringHandlerTest.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/Tests/Parser/Handler/StringHandlerTest.php
vendored
Executable file → Normal file
|
|
@ -13,8 +13,8 @@ namespace Symfony\Component\CssSelector\Tests\Parser\Handler;
|
|||
|
||||
use Symfony\Component\CssSelector\Parser\Handler\StringHandler;
|
||||
use Symfony\Component\CssSelector\Parser\Token;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerEscaping;
|
||||
use Symfony\Component\CssSelector\Parser\Tokenizer\TokenizerPatterns;
|
||||
|
||||
class StringHandlerTest extends AbstractHandlerTest
|
||||
{
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/Tests/Parser/Handler/WhitespaceHandlerTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Parser/Handler/WhitespaceHandlerTest.php
vendored
Executable file → Normal file
1
pfosten/vendor/symfony/css-selector/Tests/Parser/ParserTest.php
vendored
Executable file → Normal file
1
pfosten/vendor/symfony/css-selector/Tests/Parser/ParserTest.php
vendored
Executable file → Normal file
|
|
@ -186,6 +186,7 @@ class ParserTest extends TestCase
|
|||
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'),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/Tests/Parser/ReaderTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Parser/ReaderTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Parser/Shortcut/ClassParserTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Parser/Shortcut/ClassParserTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Parser/Shortcut/ElementParserTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Parser/Shortcut/ElementParserTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Parser/Shortcut/EmptyStringParserTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Parser/Shortcut/EmptyStringParserTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Parser/Shortcut/HashParserTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Parser/Shortcut/HashParserTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Parser/TokenStreamTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/Parser/TokenStreamTest.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/XPath/Fixtures/ids.html
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/XPath/Fixtures/ids.html
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/XPath/Fixtures/lang.xml
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/XPath/Fixtures/lang.xml
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/XPath/Fixtures/shakespear.html
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/Tests/XPath/Fixtures/shakespear.html
vendored
Executable file → Normal file
24
pfosten/vendor/symfony/css-selector/Tests/XPath/TranslatorTest.php
vendored
Executable file → Normal file
24
pfosten/vendor/symfony/css-selector/Tests/XPath/TranslatorTest.php
vendored
Executable file → Normal file
|
|
@ -37,9 +37,9 @@ class TranslatorTest extends TestCase
|
|||
$translator = new Translator();
|
||||
$document = new \SimpleXMLElement(file_get_contents(__DIR__.'/Fixtures/lang.xml'));
|
||||
$elements = $document->xpath($translator->cssToXPath($css));
|
||||
$this->assertEquals(count($elementsId), count($elements));
|
||||
$this->assertCount(\count($elementsId), $elements);
|
||||
foreach ($elements as $element) {
|
||||
$this->assertTrue(in_array($element->attributes()->id, $elementsId));
|
||||
$this->assertTrue(\in_array($element->attributes()->id, $elementsId));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -54,10 +54,10 @@ class TranslatorTest extends TestCase
|
|||
$document->loadHTMLFile(__DIR__.'/Fixtures/ids.html');
|
||||
$document = simplexml_import_dom($document);
|
||||
$elements = $document->xpath($translator->cssToXPath($css));
|
||||
$this->assertCount(count($elementsId), $elementsId);
|
||||
$this->assertCount(\count($elementsId), $elementsId);
|
||||
foreach ($elements as $element) {
|
||||
if (null !== $element->attributes()->id) {
|
||||
$this->assertTrue(in_array($element->attributes()->id, $elementsId));
|
||||
$this->assertTrue(\in_array($element->attributes()->id, $elementsId));
|
||||
}
|
||||
}
|
||||
libxml_clear_errors();
|
||||
|
|
@ -102,18 +102,20 @@ class TranslatorTest extends TestCase
|
|||
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-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-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-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())]'),
|
||||
|
|
@ -127,7 +129,7 @@ class TranslatorTest extends TestCase
|
|||
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::*[(name() = 'f') and (position() = 1)]"),
|
||||
array('e ~ f', 'e/following-sibling::f'),
|
||||
array('div#container p', "div[@id = 'container']/descendant-or-self::*/p"),
|
||||
);
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/XPath/Extension/AbstractExtension.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/XPath/Extension/AbstractExtension.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php
vendored
Executable file → Normal file
2
pfosten/vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php
vendored
Executable file → Normal file
|
|
@ -128,7 +128,7 @@ class AttributeMatchingExtension extends AbstractExtension
|
|||
return $xpath->addCondition($value ? sprintf(
|
||||
'%1$s and substring(%1$s, string-length(%1$s)-%2$s) = %3$s',
|
||||
$attribute,
|
||||
strlen($value) - 1,
|
||||
\strlen($value) - 1,
|
||||
Translator::getXpathLiteral($value)
|
||||
) : '0');
|
||||
}
|
||||
|
|
|
|||
12
pfosten/vendor/symfony/css-selector/XPath/Extension/CombinationExtension.php
vendored
Executable file → Normal file
12
pfosten/vendor/symfony/css-selector/XPath/Extension/CombinationExtension.php
vendored
Executable file → Normal file
|
|
@ -39,9 +39,6 @@ class CombinationExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
* @param XPathExpr $combinedXpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateDescendant(XPathExpr $xpath, XPathExpr $combinedXpath)
|
||||
|
|
@ -50,9 +47,6 @@ class CombinationExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
* @param XPathExpr $combinedXpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateChild(XPathExpr $xpath, XPathExpr $combinedXpath)
|
||||
|
|
@ -61,9 +55,6 @@ class CombinationExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
* @param XPathExpr $combinedXpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateDirectAdjacent(XPathExpr $xpath, XPathExpr $combinedXpath)
|
||||
|
|
@ -75,9 +66,6 @@ class CombinationExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
* @param XPathExpr $combinedXpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateIndirectAdjacent(XPathExpr $xpath, XPathExpr $combinedXpath)
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/XPath/Extension/ExtensionInterface.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/XPath/Extension/ExtensionInterface.php
vendored
Executable file → Normal file
15
pfosten/vendor/symfony/css-selector/XPath/Extension/FunctionExtension.php
vendored
Executable file → Normal file
15
pfosten/vendor/symfony/css-selector/XPath/Extension/FunctionExtension.php
vendored
Executable file → Normal file
|
|
@ -111,9 +111,6 @@ class FunctionExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
* @param FunctionNode $function
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateNthLastChild(XPathExpr $xpath, FunctionNode $function)
|
||||
|
|
@ -122,9 +119,6 @@ class FunctionExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
* @param FunctionNode $function
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateNthOfType(XPathExpr $xpath, FunctionNode $function)
|
||||
|
|
@ -133,9 +127,6 @@ class FunctionExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
* @param FunctionNode $function
|
||||
*
|
||||
* @return XPathExpr
|
||||
*
|
||||
* @throws ExpressionErrorException
|
||||
|
|
@ -150,9 +141,6 @@ class FunctionExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
* @param FunctionNode $function
|
||||
*
|
||||
* @return XPathExpr
|
||||
*
|
||||
* @throws ExpressionErrorException
|
||||
|
|
@ -176,9 +164,6 @@ class FunctionExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
* @param FunctionNode $function
|
||||
*
|
||||
* @return XPathExpr
|
||||
*
|
||||
* @throws ExpressionErrorException
|
||||
|
|
|
|||
24
pfosten/vendor/symfony/css-selector/XPath/Extension/HtmlExtension.php
vendored
Executable file → Normal file
24
pfosten/vendor/symfony/css-selector/XPath/Extension/HtmlExtension.php
vendored
Executable file → Normal file
|
|
@ -28,11 +28,6 @@ use Symfony\Component\CssSelector\XPath\XPathExpr;
|
|||
*/
|
||||
class HtmlExtension extends AbstractExtension
|
||||
{
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param Translator $translator
|
||||
*/
|
||||
public function __construct(Translator $translator)
|
||||
{
|
||||
$translator
|
||||
|
|
@ -69,8 +64,6 @@ class HtmlExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateChecked(XPathExpr $xpath)
|
||||
|
|
@ -83,8 +76,6 @@ class HtmlExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateLink(XPathExpr $xpath)
|
||||
|
|
@ -93,8 +84,6 @@ class HtmlExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateDisabled(XPathExpr $xpath)
|
||||
|
|
@ -124,8 +113,6 @@ class HtmlExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateEnabled(XPathExpr $xpath)
|
||||
|
|
@ -162,9 +149,6 @@ class HtmlExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
* @param FunctionNode $function
|
||||
*
|
||||
* @return XPathExpr
|
||||
*
|
||||
* @throws ExpressionErrorException
|
||||
|
|
@ -191,8 +175,6 @@ class HtmlExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateSelected(XPathExpr $xpath)
|
||||
|
|
@ -201,8 +183,6 @@ class HtmlExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateInvalid(XPathExpr $xpath)
|
||||
|
|
@ -211,8 +191,6 @@ class HtmlExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateHover(XPathExpr $xpath)
|
||||
|
|
@ -221,8 +199,6 @@ class HtmlExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateVisited(XPathExpr $xpath)
|
||||
|
|
|
|||
31
pfosten/vendor/symfony/css-selector/XPath/Extension/NodeExtension.php
vendored
Executable file → Normal file
31
pfosten/vendor/symfony/css-selector/XPath/Extension/NodeExtension.php
vendored
Executable file → Normal file
|
|
@ -31,14 +31,9 @@ class NodeExtension extends AbstractExtension
|
|||
const ATTRIBUTE_NAME_IN_LOWER_CASE = 2;
|
||||
const ATTRIBUTE_VALUE_IN_LOWER_CASE = 4;
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
private $flags;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param int $flags
|
||||
*/
|
||||
public function __construct($flags = 0)
|
||||
|
|
@ -94,9 +89,6 @@ class NodeExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param Node\SelectorNode $node
|
||||
* @param Translator $translator
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateSelector(Node\SelectorNode $node, Translator $translator)
|
||||
|
|
@ -105,9 +97,6 @@ class NodeExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param Node\CombinedSelectorNode $node
|
||||
* @param Translator $translator
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateCombinedSelector(Node\CombinedSelectorNode $node, Translator $translator)
|
||||
|
|
@ -116,9 +105,6 @@ class NodeExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param Node\NegationNode $node
|
||||
* @param Translator $translator
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateNegation(Node\NegationNode $node, Translator $translator)
|
||||
|
|
@ -135,9 +121,6 @@ class NodeExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param Node\FunctionNode $node
|
||||
* @param Translator $translator
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateFunction(Node\FunctionNode $node, Translator $translator)
|
||||
|
|
@ -148,9 +131,6 @@ class NodeExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param Node\PseudoNode $node
|
||||
* @param Translator $translator
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translatePseudo(Node\PseudoNode $node, Translator $translator)
|
||||
|
|
@ -161,9 +141,6 @@ class NodeExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param Node\AttributeNode $node
|
||||
* @param Translator $translator
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateAttribute(Node\AttributeNode $node, Translator $translator)
|
||||
|
|
@ -192,9 +169,6 @@ class NodeExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param Node\ClassNode $node
|
||||
* @param Translator $translator
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateClass(Node\ClassNode $node, Translator $translator)
|
||||
|
|
@ -205,9 +179,6 @@ class NodeExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param Node\HashNode $node
|
||||
* @param Translator $translator
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateHash(Node\HashNode $node, Translator $translator)
|
||||
|
|
@ -218,8 +189,6 @@ class NodeExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param Node\ElementNode $node
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateElement(Node\ElementNode $node)
|
||||
|
|
|
|||
16
pfosten/vendor/symfony/css-selector/XPath/Extension/PseudoClassExtension.php
vendored
Executable file → Normal file
16
pfosten/vendor/symfony/css-selector/XPath/Extension/PseudoClassExtension.php
vendored
Executable file → Normal file
|
|
@ -44,8 +44,6 @@ class PseudoClassExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateRoot(XPathExpr $xpath)
|
||||
|
|
@ -54,8 +52,6 @@ class PseudoClassExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateFirstChild(XPathExpr $xpath)
|
||||
|
|
@ -67,8 +63,6 @@ class PseudoClassExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateLastChild(XPathExpr $xpath)
|
||||
|
|
@ -80,8 +74,6 @@ class PseudoClassExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*
|
||||
* @throws ExpressionErrorException
|
||||
|
|
@ -98,8 +90,6 @@ class PseudoClassExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*
|
||||
* @throws ExpressionErrorException
|
||||
|
|
@ -116,8 +106,6 @@ class PseudoClassExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateOnlyChild(XPathExpr $xpath)
|
||||
|
|
@ -129,8 +117,6 @@ class PseudoClassExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*
|
||||
* @throws ExpressionErrorException
|
||||
|
|
@ -145,8 +131,6 @@ class PseudoClassExtension extends AbstractExtension
|
|||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
*
|
||||
* @return XPathExpr
|
||||
*/
|
||||
public function translateEmpty(XPathExpr $xpath)
|
||||
|
|
|
|||
43
pfosten/vendor/symfony/css-selector/XPath/Translator.php
vendored
Executable file → Normal file
43
pfosten/vendor/symfony/css-selector/XPath/Translator.php
vendored
Executable file → Normal file
|
|
@ -30,9 +30,6 @@ use Symfony\Component\CssSelector\Parser\ParserInterface;
|
|||
*/
|
||||
class Translator implements TranslatorInterface
|
||||
{
|
||||
/**
|
||||
* @var ParserInterface
|
||||
*/
|
||||
private $mainParser;
|
||||
|
||||
/**
|
||||
|
|
@ -41,33 +38,14 @@ class Translator implements TranslatorInterface
|
|||
private $shortcutParsers = array();
|
||||
|
||||
/**
|
||||
* @var Extension\ExtensionInterface
|
||||
* @var Extension\ExtensionInterface[]
|
||||
*/
|
||||
private $extensions = array();
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private $nodeTranslators = array();
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private $combinationTranslators = array();
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private $functionTranslators = array();
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private $pseudoClassTranslators = array();
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private $attributeMatchingTranslators = array();
|
||||
|
||||
public function __construct(ParserInterface $parser = null)
|
||||
|
|
@ -144,8 +122,6 @@ class Translator implements TranslatorInterface
|
|||
/**
|
||||
* Registers an extension.
|
||||
*
|
||||
* @param Extension\ExtensionInterface $extension
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function registerExtension(Extension\ExtensionInterface $extension)
|
||||
|
|
@ -180,8 +156,6 @@ class Translator implements TranslatorInterface
|
|||
/**
|
||||
* Registers a shortcut parser.
|
||||
*
|
||||
* @param ParserInterface $shortcut
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function registerParserShortcut(ParserInterface $shortcut)
|
||||
|
|
@ -192,8 +166,6 @@ class Translator implements TranslatorInterface
|
|||
}
|
||||
|
||||
/**
|
||||
* @param NodeInterface $node
|
||||
*
|
||||
* @return XPathExpr
|
||||
*
|
||||
* @throws ExpressionErrorException
|
||||
|
|
@ -204,7 +176,7 @@ class Translator implements TranslatorInterface
|
|||
throw new ExpressionErrorException(sprintf('Node "%s" not supported.', $node->getNodeName()));
|
||||
}
|
||||
|
||||
return call_user_func($this->nodeTranslators[$node->getNodeName()], $node, $this);
|
||||
return \call_user_func($this->nodeTranslators[$node->getNodeName()], $node, $this);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -222,13 +194,10 @@ class Translator implements TranslatorInterface
|
|||
throw new ExpressionErrorException(sprintf('Combiner "%s" not supported.', $combiner));
|
||||
}
|
||||
|
||||
return call_user_func($this->combinationTranslators[$combiner], $this->nodeToXPath($xpath), $this->nodeToXPath($combinedXpath));
|
||||
return \call_user_func($this->combinationTranslators[$combiner], $this->nodeToXPath($xpath), $this->nodeToXPath($combinedXpath));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param XPathExpr $xpath
|
||||
* @param FunctionNode $function
|
||||
*
|
||||
* @return XPathExpr
|
||||
*
|
||||
* @throws ExpressionErrorException
|
||||
|
|
@ -239,7 +208,7 @@ class Translator implements TranslatorInterface
|
|||
throw new ExpressionErrorException(sprintf('Function "%s" not supported.', $function->getName()));
|
||||
}
|
||||
|
||||
return call_user_func($this->functionTranslators[$function->getName()], $xpath, $function);
|
||||
return \call_user_func($this->functionTranslators[$function->getName()], $xpath, $function);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -256,7 +225,7 @@ class Translator implements TranslatorInterface
|
|||
throw new ExpressionErrorException(sprintf('Pseudo-class "%s" not supported.', $pseudoClass));
|
||||
}
|
||||
|
||||
return call_user_func($this->pseudoClassTranslators[$pseudoClass], $xpath);
|
||||
return \call_user_func($this->pseudoClassTranslators[$pseudoClass], $xpath);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -275,7 +244,7 @@ class Translator implements TranslatorInterface
|
|||
throw new ExpressionErrorException(sprintf('Attribute matcher operator "%s" not supported.', $operator));
|
||||
}
|
||||
|
||||
return call_user_func($this->attributeMatchingTranslators[$operator], $xpath, $attribute, $value);
|
||||
return \call_user_func($this->attributeMatchingTranslators[$operator], $xpath, $attribute, $value);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/XPath/TranslatorInterface.php
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/XPath/TranslatorInterface.php
vendored
Executable file → Normal file
17
pfosten/vendor/symfony/css-selector/XPath/XPathExpr.php
vendored
Executable file → Normal file
17
pfosten/vendor/symfony/css-selector/XPath/XPathExpr.php
vendored
Executable file → Normal file
|
|
@ -23,19 +23,8 @@ namespace Symfony\Component\CssSelector\XPath;
|
|||
*/
|
||||
class XPathExpr
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $path;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $element;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $condition;
|
||||
|
||||
/**
|
||||
|
|
@ -64,13 +53,11 @@ class XPathExpr
|
|||
}
|
||||
|
||||
/**
|
||||
* @param $condition
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function addCondition($condition)
|
||||
{
|
||||
$this->condition = $this->condition ? sprintf('%s and (%s)', $this->condition, $condition) : $condition;
|
||||
$this->condition = $this->condition ? sprintf('(%s) and (%s)', $this->condition, $condition) : $condition;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
|
@ -114,7 +101,7 @@ class XPathExpr
|
|||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function join($combiner, XPathExpr $expr)
|
||||
public function join($combiner, self $expr)
|
||||
{
|
||||
$path = $this->__toString().$combiner;
|
||||
|
||||
|
|
|
|||
4
pfosten/vendor/symfony/css-selector/composer.json
vendored
Executable file → Normal file
4
pfosten/vendor/symfony/css-selector/composer.json
vendored
Executable file → Normal file
|
|
@ -20,7 +20,7 @@
|
|||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.5.9"
|
||||
"php": "^5.5.9|>=7.0.8"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": { "Symfony\\Component\\CssSelector\\": "" },
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
"minimum-stability": "dev",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.3-dev"
|
||||
"dev-master": "3.4-dev"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
0
pfosten/vendor/symfony/css-selector/phpunit.xml.dist
vendored
Executable file → Normal file
0
pfosten/vendor/symfony/css-selector/phpunit.xml.dist
vendored
Executable file → Normal file
Loading…
Add table
Add a link
Reference in a new issue