/vendor/symfony/css-selector/Tests/Node/AbstractNodeTest.php |
@@ -0,0 +1,34 @@ |
<?php |
|
/* |
* This file is part of the Symfony package. |
* |
* (c) Fabien Potencier <fabien@symfony.com> |
* |
* For the full copyright and license information, please view the LICENSE |
* file that was distributed with this source code. |
*/ |
|
namespace Symfony\Component\CssSelector\Tests\Node; |
|
use PHPUnit\Framework\TestCase; |
use Symfony\Component\CssSelector\Node\NodeInterface; |
|
abstract class AbstractNodeTest extends TestCase |
{ |
/** @dataProvider getToStringConversionTestData */ |
public function testToStringConversion(NodeInterface $node, $representation) |
{ |
$this->assertEquals($representation, (string) $node); |
} |
|
/** @dataProvider getSpecificityValueTestData */ |
public function testSpecificityValue(NodeInterface $node, $value) |
{ |
$this->assertEquals($value, $node->getSpecificity()->getValue()); |
} |
|
abstract public function getToStringConversionTestData(); |
|
abstract public function getSpecificityValueTestData(); |
} |
/vendor/symfony/css-selector/Tests/Node/AttributeNodeTest.php |
@@ -0,0 +1,37 @@ |
<?php |
|
/* |
* This file is part of the Symfony package. |
* |
* (c) Fabien Potencier <fabien@symfony.com> |
* |
* For the full copyright and license information, please view the LICENSE |
* file that was distributed with this source code. |
*/ |
|
namespace Symfony\Component\CssSelector\Tests\Node; |
|
use Symfony\Component\CssSelector\Node\AttributeNode; |
use Symfony\Component\CssSelector\Node\ElementNode; |
|
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']]"), |
); |
} |
|
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), |
); |
} |
} |
/vendor/symfony/css-selector/Tests/Node/ClassNodeTest.php |
@@ -0,0 +1,33 @@ |
<?php |
|
/* |
* This file is part of the Symfony package. |
* |
* (c) Fabien Potencier <fabien@symfony.com> |
* |
* For the full copyright and license information, please view the LICENSE |
* file that was distributed with this source code. |
*/ |
|
namespace Symfony\Component\CssSelector\Tests\Node; |
|
use Symfony\Component\CssSelector\Node\ClassNode; |
use Symfony\Component\CssSelector\Node\ElementNode; |
|
class ClassNodeTest extends AbstractNodeTest |
{ |
public function getToStringConversionTestData() |
{ |
return array( |
array(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), |
); |
} |
} |
/vendor/symfony/css-selector/Tests/Node/CombinedSelectorNodeTest.php |
@@ -0,0 +1,35 @@ |
<?php |
|
/* |
* This file is part of the Symfony package. |
* |
* (c) Fabien Potencier <fabien@symfony.com> |
* |
* For the full copyright and license information, please view the LICENSE |
* file that was distributed with this source code. |
*/ |
|
namespace Symfony\Component\CssSelector\Tests\Node; |
|
use Symfony\Component\CssSelector\Node\CombinedSelectorNode; |
use Symfony\Component\CssSelector\Node\ElementNode; |
|
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[*] <followed> 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), |
); |
} |
} |
/vendor/symfony/css-selector/Tests/Node/ElementNodeTest.php |
@@ -0,0 +1,35 @@ |
<?php |
|
/* |
* This file is part of the Symfony package. |
* |
* (c) Fabien Potencier <fabien@symfony.com> |
* |
* For the full copyright and license information, please view the LICENSE |
* file that was distributed with this source code. |
*/ |
|
namespace Symfony\Component\CssSelector\Tests\Node; |
|
use Symfony\Component\CssSelector\Node\ElementNode; |
|
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]'), |
); |
} |
|
public function getSpecificityValueTestData() |
{ |
return array( |
array(new ElementNode(), 0), |
array(new ElementNode(null, 'element'), 1), |
array(new ElementNode('namespace', 'element'), 1), |
); |
} |
} |
/vendor/symfony/css-selector/Tests/Node/FunctionNodeTest.php |
@@ -0,0 +1,47 @@ |
<?php |
|
/* |
* This file is part of the Symfony package. |
* |
* (c) Fabien Potencier <fabien@symfony.com> |
* |
* For the full copyright and license information, please view the LICENSE |
* file that was distributed with this source code. |
*/ |
|
namespace Symfony\Component\CssSelector\Tests\Node; |
|
use Symfony\Component\CssSelector\Node\ElementNode; |
use Symfony\Component\CssSelector\Node\FunctionNode; |
use Symfony\Component\CssSelector\Parser\Token; |
|
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( |
new Token(Token::TYPE_IDENTIFIER, 'value', 0), |
)), "Function[Element[*]:function(['value'])]"), |
array(new FunctionNode(new ElementNode(), 'function', array( |
new Token(Token::TYPE_STRING, 'value1', 0), |
new Token(Token::TYPE_NUMBER, 'value2', 0), |
)), "Function[Element[*]:function(['value1', 'value2'])]"), |
); |
} |
|
public function getSpecificityValueTestData() |
{ |
return array( |
array(new FunctionNode(new ElementNode(), 'function'), 10), |
array(new FunctionNode(new ElementNode(), 'function', array( |
new Token(Token::TYPE_IDENTIFIER, 'value', 0), |
)), 10), |
array(new FunctionNode(new ElementNode(), 'function', array( |
new Token(Token::TYPE_STRING, 'value1', 0), |
new Token(Token::TYPE_NUMBER, 'value2', 0), |
)), 10), |
); |
} |
} |
/vendor/symfony/css-selector/Tests/Node/HashNodeTest.php |
@@ -0,0 +1,33 @@ |
<?php |
|
/* |
* This file is part of the Symfony package. |
* |
* (c) Fabien Potencier <fabien@symfony.com> |
* |
* For the full copyright and license information, please view the LICENSE |
* file that was distributed with this source code. |
*/ |
|
namespace Symfony\Component\CssSelector\Tests\Node; |
|
use Symfony\Component\CssSelector\Node\HashNode; |
use Symfony\Component\CssSelector\Node\ElementNode; |
|
class HashNodeTest extends AbstractNodeTest |
{ |
public function getToStringConversionTestData() |
{ |
return array( |
array(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), |
); |
} |
} |
/vendor/symfony/css-selector/Tests/Node/NegationNodeTest.php |
@@ -0,0 +1,33 @@ |
<?php |
|
/* |
* This file is part of the Symfony package. |
* |
* (c) Fabien Potencier <fabien@symfony.com> |
* |
* For the full copyright and license information, please view the LICENSE |
* file that was distributed with this source code. |
*/ |
|
namespace Symfony\Component\CssSelector\Tests\Node; |
|
use Symfony\Component\CssSelector\Node\ClassNode; |
use Symfony\Component\CssSelector\Node\NegationNode; |
use Symfony\Component\CssSelector\Node\ElementNode; |
|
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])]'), |
); |
} |
|
public function getSpecificityValueTestData() |
{ |
return array( |
array(new NegationNode(new ElementNode(), new ClassNode(new ElementNode(), 'class')), 10), |
); |
} |
} |
/vendor/symfony/css-selector/Tests/Node/SelectorNodeTest.php |
@@ -0,0 +1,34 @@ |
<?php |
|
/* |
* This file is part of the Symfony package. |
* |
* (c) Fabien Potencier <fabien@symfony.com> |
* |
* For the full copyright and license information, please view the LICENSE |
* file that was distributed with this source code. |
*/ |
|
namespace Symfony\Component\CssSelector\Tests\Node; |
|
use Symfony\Component\CssSelector\Node\ElementNode; |
use Symfony\Component\CssSelector\Node\SelectorNode; |
|
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]'), |
); |
} |
|
public function getSpecificityValueTestData() |
{ |
return array( |
array(new SelectorNode(new ElementNode()), 0), |
array(new SelectorNode(new ElementNode(), 'pseudo'), 1), |
); |
} |
} |
/vendor/symfony/css-selector/Tests/Node/SpecificityTest.php |
@@ -0,0 +1,63 @@ |
<?php |
|
/* |
* This file is part of the Symfony package. |
* |
* (c) Fabien Potencier <fabien@symfony.com> |
* |
* For the full copyright and license information, please view the LICENSE |
* file that was distributed with this source code. |
*/ |
|
namespace Symfony\Component\CssSelector\Tests\Node; |
|
use PHPUnit\Framework\TestCase; |
use Symfony\Component\CssSelector\Node\Specificity; |
|
class SpecificityTest extends TestCase |
{ |
/** @dataProvider getValueTestData */ |
public function testValue(Specificity $specificity, $value) |
{ |
$this->assertEquals($value, $specificity->getValue()); |
} |
|
/** @dataProvider getValueTestData */ |
public function testPlusValue(Specificity $specificity, $value) |
{ |
$this->assertEquals($value + 123, $specificity->plus(new Specificity(1, 2, 3))->getValue()); |
} |
|
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), |
); |
} |
|
/** @dataProvider getCompareTestData */ |
public function testCompareTo(Specificity $a, Specificity $b, $result) |
{ |
$this->assertEquals($result, $a->compareTo($b)); |
} |
|
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), |
); |
} |
} |