scratch

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 86  →  ?path2? @ 87
/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/PseudoNodeTest.php
@@ -0,0 +1,32 @@
<?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\PseudoNode;
 
class PseudoNodeTest extends AbstractNodeTest
{
public function getToStringConversionTestData()
{
return array(
array(new PseudoNode(new ElementNode(), 'pseudo'), 'Pseudo[Element[*]:pseudo]'),
);
}
 
public function getSpecificityValueTestData()
{
return array(
array(new PseudoNode(new ElementNode(), 'pseudo'), 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),
);
}
}