From fd3fefbfcbb54e3f80c6b6e8416c7c5fab8d78cd Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Tue, 29 Sep 2015 08:17:59 +0200 Subject: [PATCH] [CssSelector] remove ConverterInterface --- .../Component/CssSelector/CHANGELOG.md | 2 +- .../CssSelector/ConverterInterface.php | 71 ------------------- ...Converter.php => CssSelectorConverter.php} | 15 +++- src/Symfony/Component/CssSelector/README.md | 39 ++++++++++ 4 files changed, 53 insertions(+), 74 deletions(-) delete mode 100644 src/Symfony/Component/CssSelector/ConverterInterface.php rename src/Symfony/Component/CssSelector/{Converter.php => CssSelectorConverter.php} (75%) diff --git a/src/Symfony/Component/CssSelector/CHANGELOG.md b/src/Symfony/Component/CssSelector/CHANGELOG.md index f40b8d6f20..4061ff20c3 100644 --- a/src/Symfony/Component/CssSelector/CHANGELOG.md +++ b/src/Symfony/Component/CssSelector/CHANGELOG.md @@ -4,7 +4,7 @@ CHANGELOG 2.8.0 ----- - * Added the ConverterInterface and the Converter implementation as a non-static API for the component. + * Added the `CssSelectorConverter` class as a non-static API for the component. * Deprecated the `CssSelector` static API of the component. 2.1.0 diff --git a/src/Symfony/Component/CssSelector/ConverterInterface.php b/src/Symfony/Component/CssSelector/ConverterInterface.php deleted file mode 100644 index 75ad449aaa..0000000000 --- a/src/Symfony/Component/CssSelector/ConverterInterface.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\CssSelector; - -/** - * ConverterInterface is the main entry point of the component and can convert CSS - * selectors to XPath expressions. - * - * This component is a port of the Python cssselect library, - * which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. - * - * Copyright (c) 2007-2012 Ian Bicking and contributors. See AUTHORS - * for more details. - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. Neither the name of Ian Bicking nor the names of its contributors may - * be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IAN BICKING OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * @author Christophe Coevoet - */ -interface ConverterInterface -{ - /** - * Translates a CSS expression to its XPath equivalent. - * - * Optionally, a prefix can be added to the resulting XPath - * expression with the $prefix parameter. - * - * @param string $cssExpr The CSS expression. - * @param string $prefix An optional prefix for the XPath expression. - * - * @return string - */ - public function toXPath($cssExpr, $prefix = 'descendant-or-self::'); - -} diff --git a/src/Symfony/Component/CssSelector/Converter.php b/src/Symfony/Component/CssSelector/CssSelectorConverter.php similarity index 75% rename from src/Symfony/Component/CssSelector/Converter.php rename to src/Symfony/Component/CssSelector/CssSelectorConverter.php index bc27fc45c4..e31ac1917a 100644 --- a/src/Symfony/Component/CssSelector/Converter.php +++ b/src/Symfony/Component/CssSelector/CssSelectorConverter.php @@ -19,9 +19,12 @@ use Symfony\Component\CssSelector\XPath\Extension\HtmlExtension; use Symfony\Component\CssSelector\XPath\Translator; /** + * CssSelectorConverter is the main entry point of the component and can convert CSS + * selectors to XPath expressions. + * * @author Christophe Coevoet */ -class Converter implements ConverterInterface +class CssSelectorConverter { private $translator; @@ -45,7 +48,15 @@ class Converter implements ConverterInterface } /** - * {@inheritdoc} + * Translates a CSS expression to its XPath equivalent. + * + * Optionally, a prefix can be added to the resulting XPath + * expression with the $prefix parameter. + * + * @param string $cssExpr The CSS expression. + * @param string $prefix An optional prefix for the XPath expression. + * + * @return string */ public function toXPath($cssExpr, $prefix = 'descendant-or-self::') { diff --git a/src/Symfony/Component/CssSelector/README.md b/src/Symfony/Component/CssSelector/README.md index ffe6c890f6..cf79e1ec4c 100644 --- a/src/Symfony/Component/CssSelector/README.md +++ b/src/Symfony/Component/CssSelector/README.md @@ -45,3 +45,42 @@ You can run the unit tests with the following command: $ cd path/to/Symfony/Component/CssSelector/ $ composer install $ phpunit + +License +------- + +This component is a port of the Python cssselect library, +which is copyright Ian Bicking, @see https://github.com/SimonSapin/cssselect. + +Copyright (c) 2007-2012 Ian Bicking and contributors. See AUTHORS +for more details. + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in +the documentation and/or other materials provided with the +distribution. + +3. Neither the name of Ian Bicking nor the names of its contributors may +be used to endorse or promote products derived from this software +without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IAN BICKING OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.