removed the grammar and simple token parser code (moved to the Twig Extensions reposi...
authorFabien Potencier <fabien.potencier@gmail.com>
Mon, 3 Jan 2011 11:28:11 +0000 (12:28 +0100)
committerFabien Potencier <fabien.potencier@gmail.com>
Mon, 3 Jan 2011 11:28:11 +0000 (12:28 +0100)
27 files changed:
CHANGELOG
lib/Twig/Grammar.php [deleted file]
lib/Twig/Grammar/Arguments.php [deleted file]
lib/Twig/Grammar/Array.php [deleted file]
lib/Twig/Grammar/Body.php [deleted file]
lib/Twig/Grammar/Boolean.php [deleted file]
lib/Twig/Grammar/Constant.php [deleted file]
lib/Twig/Grammar/Expression.php [deleted file]
lib/Twig/Grammar/Hash.php [deleted file]
lib/Twig/Grammar/Number.php [deleted file]
lib/Twig/Grammar/Optional.php [deleted file]
lib/Twig/Grammar/Switch.php [deleted file]
lib/Twig/Grammar/Tag.php [deleted file]
lib/Twig/GrammarInterface.php [deleted file]
lib/Twig/SimpleTokenParser.php [deleted file]
test/Twig/Tests/Grammar/ArgumentsTest.php [deleted file]
test/Twig/Tests/Grammar/ArrayTest.php [deleted file]
test/Twig/Tests/Grammar/BodyTest.php [deleted file]
test/Twig/Tests/Grammar/BooleanTest.php [deleted file]
test/Twig/Tests/Grammar/ConstantTest.php [deleted file]
test/Twig/Tests/Grammar/ExpressionTest.php [deleted file]
test/Twig/Tests/Grammar/NumberTest.php [deleted file]
test/Twig/Tests/Grammar/OptionalTest.php [deleted file]
test/Twig/Tests/Grammar/TagTest.php [deleted file]
test/Twig/Tests/SimpleTokenParser.php [deleted file]
test/Twig/Tests/SimpleTokenParserTest.php [deleted file]
test/Twig/Tests/grammarTest.php [deleted file]

index 72ff1b4..5f76db1 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -10,6 +10,7 @@ Backward incompatibilities:
  * the "autoescape" first argument is now "true"/"false" (instead of "on"/"off")
  * the "parent" tag has been replaced by a "parent" function ({{ parent() }} instead of {% parent %})
  * the "display" tag has been replaced by a "block" function ({{ block('title') }} instead of {% display title %})
+ * removed the grammar and simple token parser (moved to the Twig Extensions repository)
 
 Changes:
 
diff --git a/lib/Twig/Grammar.php b/lib/Twig/Grammar.php
deleted file mode 100644 (file)
index a9c6e3d..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-abstract class Twig_Grammar implements Twig_GrammarInterface
-{
-    protected $name;
-    protected $parser;
-
-    public function __construct($name)
-    {
-        $this->name = $name;
-    }
-
-    public function setParser(Twig_ParserInterface $parser)
-    {
-        $this->parser = $parser;
-    }
-
-    public function getName()
-    {
-        return $this->name;
-    }
-}
diff --git a/lib/Twig/Grammar/Arguments.php b/lib/Twig/Grammar/Arguments.php
deleted file mode 100644 (file)
index d0d3f91..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Grammar_Arguments extends Twig_Grammar
-{
-    public function __toString()
-    {
-        return sprintf('<%s:arguments>', $this->name);
-    }
-
-    public function parse(Twig_Token $token)
-    {
-        return $this->parser->getExpressionParser()->parseArguments();
-    }
-}
diff --git a/lib/Twig/Grammar/Array.php b/lib/Twig/Grammar/Array.php
deleted file mode 100644 (file)
index 7605e9e..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Grammar_Array extends Twig_Grammar
-{
-    public function __toString()
-    {
-        return sprintf('<%s:array>', $this->name);
-    }
-
-    public function parse(Twig_Token $token)
-    {
-        return $this->parser->getExpressionParser()->parseArrayExpression();
-    }
-}
diff --git a/lib/Twig/Grammar/Body.php b/lib/Twig/Grammar/Body.php
deleted file mode 100644 (file)
index 081d43d..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Grammar_Body extends Twig_Grammar
-{
-    protected $end;
-
-    public function __construct($name, $end = null)
-    {
-        parent::__construct($name);
-
-        $this->end = null === $end ? 'end'.$name : $end;
-    }
-
-    public function __toString()
-    {
-        return sprintf('<%s:body>', $this->name);
-    }
-
-    public function parse(Twig_Token $token)
-    {
-        $stream = $this->parser->getStream();
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return $this->parser->subparse(array($this, 'decideBlockEnd'), true);
-    }
-
-    public function decideBlockEnd($token)
-    {
-        return $token->test($this->end);
-    }
-}
diff --git a/lib/Twig/Grammar/Boolean.php b/lib/Twig/Grammar/Boolean.php
deleted file mode 100644 (file)
index 02a6070..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Grammar_Boolean extends Twig_Grammar
-{
-    public function __toString()
-    {
-        return sprintf('<%s:boolean>', $this->name);
-    }
-
-    public function parse(Twig_Token $token)
-    {
-        $this->parser->getStream()->expect(Twig_Token::NAME_TYPE, array('true', 'false'));
-
-        return new Twig_Node_Expression_Constant('true' === $token->getValue() ? true : false, $token->getLine());
-    }
-}
diff --git a/lib/Twig/Grammar/Constant.php b/lib/Twig/Grammar/Constant.php
deleted file mode 100644 (file)
index 1f523b8..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Grammar_Constant extends Twig_Grammar
-{
-    protected $type;
-
-    public function __construct($name, $type = null)
-    {
-        $this->name = $name;
-        $this->type = null === $type ? Twig_Token::NAME_TYPE : $type;
-    }
-
-    public function __toString()
-    {
-        return $this->name;
-    }
-
-    public function parse(Twig_Token $token)
-    {
-        $this->parser->getStream()->expect($this->type, $this->name);
-
-        return $this->name;
-    }
-
-    public function getType()
-    {
-        return $this->type;
-    }
-}
diff --git a/lib/Twig/Grammar/Expression.php b/lib/Twig/Grammar/Expression.php
deleted file mode 100644 (file)
index 43012f3..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Grammar_Expression extends Twig_Grammar
-{
-    public function __toString()
-    {
-        return sprintf('<%s>', $this->name);
-    }
-
-    public function parse(Twig_Token $token)
-    {
-        return $this->parser->getExpressionParser()->parseExpression();
-    }
-}
diff --git a/lib/Twig/Grammar/Hash.php b/lib/Twig/Grammar/Hash.php
deleted file mode 100644 (file)
index e59d1d7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Grammar_Hash extends Twig_Grammar
-{
-    public function __toString()
-    {
-        return sprintf('<%s:hash>', $this->name);
-    }
-
-    public function parse(Twig_Token $token)
-    {
-        return $this->parser->getExpressionParser()->parseHashExpression();
-    }
-}
diff --git a/lib/Twig/Grammar/Number.php b/lib/Twig/Grammar/Number.php
deleted file mode 100644 (file)
index 0ce3f16..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Grammar_Number extends Twig_Grammar
-{
-    public function __toString()
-    {
-        return sprintf('<%s:number>', $this->name);
-    }
-
-    public function parse(Twig_Token $token)
-    {
-        $this->parser->getStream()->expect(Twig_Token::NUMBER_TYPE);
-
-        return new Twig_Node_Expression_Constant($token->getValue(), $token->getLine());
-    }
-}
diff --git a/lib/Twig/Grammar/Optional.php b/lib/Twig/Grammar/Optional.php
deleted file mode 100644 (file)
index 3b98426..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Grammar_Optional extends Twig_Grammar
-{
-    protected $grammar;
-
-    public function __construct()
-    {
-        $this->grammar = array();
-        foreach (func_get_args() as $grammar) {
-            $this->addGrammar($grammar);
-        }
-    }
-
-    public function __toString()
-    {
-        $repr = array();
-        foreach ($this->grammar as $grammar) {
-            $repr[] = (string) $grammar;
-        }
-
-        return sprintf('[%s]', implode(' ', $repr));
-    }
-
-    public function addGrammar(Twig_GrammarInterface $grammar)
-    {
-        $this->grammar[] = $grammar;
-    }
-
-    public function parse(Twig_Token $token)
-    {
-        // test if we have the optional element before consuming it
-        if ($this->grammar[0] instanceof Twig_Grammar_Constant) {
-            if (!$this->parser->getStream()->test($this->grammar[0]->getType(), $this->grammar[0]->getName())) {
-                return array();
-            }
-        } elseif ($this->grammar[0] instanceof Twig_Grammar_Name) {
-            if (!$this->parser->getStream()->test(Twig_Token::NAME_TYPE)) {
-                return array();
-            }
-        } elseif ($this->parser->getStream()->test(Twig_Token::BLOCK_END_TYPE)) {
-            // if this is not a Constant or a Name, it must be the last element of the tag
-
-            return array();
-        }
-
-        $elements = array();
-        foreach ($this->grammar as $grammar) {
-            $grammar->setParser($this->parser);
-
-            $element = $grammar->parse($token);
-            if (is_array($element)) {
-                $elements = array_merge($elements, $element);
-            } else {
-                $elements[$grammar->getName()] = $element;
-            }
-        }
-
-        return $elements;
-    }
-}
diff --git a/lib/Twig/Grammar/Switch.php b/lib/Twig/Grammar/Switch.php
deleted file mode 100644 (file)
index c5e5ff8..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Grammar_Switch extends Twig_Grammar
-{
-    public function __toString()
-    {
-        return sprintf('<%s:switch>', $this->name);
-    }
-
-    public function parse(Twig_Token $token)
-    {
-        $this->parser->getStream()->expect(Twig_Token::NAME_TYPE, $this->name);
-
-        return new Twig_Node_Expression_Constant(true, $token->getLine());
-    }
-}
diff --git a/lib/Twig/Grammar/Tag.php b/lib/Twig/Grammar/Tag.php
deleted file mode 100644 (file)
index 2aad31a..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Grammar_Tag extends Twig_Grammar
-{
-    protected $grammar;
-
-    public function __construct()
-    {
-        $this->grammar = array();
-        foreach (func_get_args() as $grammar) {
-            $this->addGrammar($grammar);
-        }
-    }
-
-    public function __toString()
-    {
-        $repr = array();
-        foreach ($this->grammar as $grammar) {
-            $repr[] = (string) $grammar;
-        }
-
-        return implode(' ', $repr);
-    }
-
-    public function addGrammar(Twig_GrammarInterface $grammar)
-    {
-        $this->grammar[] = $grammar;
-    }
-
-    public function parse(Twig_Token $token)
-    {
-        $elements = array();
-        foreach ($this->grammar as $grammar) {
-            $grammar->setParser($this->parser);
-
-            $element = $grammar->parse($token);
-            if (is_array($element)) {
-                $elements = array_merge($elements, $element);
-            } else {
-                $elements[$grammar->getName()] = $element;
-            }
-        }
-
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return $elements;
-    }
-}
diff --git a/lib/Twig/GrammarInterface.php b/lib/Twig/GrammarInterface.php
deleted file mode 100644 (file)
index efb005c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-interface Twig_GrammarInterface
-{
-    function setParser(Twig_ParserInterface $parser);
-
-    function parse(Twig_Token $token);
-
-    function getName();
-}
diff --git a/lib/Twig/SimpleTokenParser.php b/lib/Twig/SimpleTokenParser.php
deleted file mode 100644 (file)
index 08c0290..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-abstract class Twig_SimpleTokenParser extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $grammar = $this->getGrammar();
-        if (!is_object($grammar)) {
-            $grammar = self::parseGrammar($grammar);
-        }
-
-        $grammar->setParser($this->parser);
-        $values = $grammar->parse($token);
-
-        return $this->getNode($values, $token->getLine());
-    }
-
-    /**
-     * Gets the grammar as an object or as a string.
-     *
-     * @return string|Twig_Grammar A Twig_Grammar instance or a string
-     */
-    abstract protected function getGrammar();
-
-    /**
-     * Gets the nodes based on the parsed values.
-     *
-     * @param array   $values An array of values
-     * @param integer $line   The parser line
-     */
-    abstract protected function getNode(array $values, $line);
-
-    protected function getAttribute($node, $attribute, $arguments = array(), $type = Twig_Node_Expression_GetAttr::TYPE_ANY, $line = -1)
-    {
-        return new Twig_Node_Expression_GetAttr(
-            $node instanceof Twig_NodeInterface ? $node : new Twig_Node_Expression_Name($node, $line),
-            $attribute instanceof Twig_NodeInterface ? $attribute : new Twig_Node_Expression_Constant($attribute, $line),
-            $arguments instanceof Twig_NodeInterface ? $arguments : new Twig_Node($arguments),
-            $type,
-            $line
-        );
-    }
-
-    protected function call($node, $attribute, $arguments = array(), $line = -1)
-    {
-        return $this->getAttribute($node, $attribute, $arguments, Twig_Node_Expression_GetAttr::TYPE_METHOD, $line);
-    }
-
-    protected function markAsSafe(Twig_NodeInterface $node, $line = -1)
-    {
-        return new Twig_Node_Expression_Filter(
-            $node,
-            new Twig_Node_Expression_Constant('raw', $line),
-            new Twig_Node(),
-            $line
-        );
-    }
-
-    protected function output(Twig_NodeInterface $node, $line = -1)
-    {
-        return new Twig_Node_Print($node, $line);
-    }
-
-    protected function getNodeValues(array $values)
-    {
-        $nodes = array();
-        foreach ($values as $value) {
-            if ($value instanceof Twig_NodeInterface) {
-                $nodes[] = $value;
-            }
-        }
-
-        return $nodes;
-    }
-
-    static public function parseGrammar($str, $main = true)
-    {
-        static $cursor;
-
-        if (true === $main) {
-            $cursor = 0;
-            $grammar = new Twig_Grammar_Tag();
-        } else {
-            $grammar = new Twig_Grammar_Optional();
-        }
-
-        while ($cursor < strlen($str)) {
-            if (preg_match('/\s+/A', $str, $match, null, $cursor)) {
-                $cursor += strlen($match[0]);
-            } elseif (preg_match('/<(\w+)(?:\:(\w+))?>/A', $str, $match, null, $cursor)) {
-                $class = sprintf('Twig_Grammar_%s', ucfirst(isset($match[2]) ? $match[2] : 'Expression'));
-                if (!class_exists($class)) {
-                    throw new Twig_Error_Runtime(sprintf('Unable to understand "%s" in grammar (%s class does not exist)', $match[0], $class));
-                }
-                $grammar->addGrammar(new $class($match[1]));
-                $cursor += strlen($match[0]);
-            } elseif (preg_match('/\w+/A', $str, $match, null, $cursor)) {
-                $grammar->addGrammar(new Twig_Grammar_Constant($match[0]));
-                $cursor += strlen($match[0]);
-            } elseif (preg_match('/,/A', $str, $match, null, $cursor)) {
-                $grammar->addGrammar(new Twig_Grammar_Constant($match[0], Twig_Token::PUNCTUATION_TYPE));
-                $cursor += strlen($match[0]);
-            } elseif (preg_match('/\[/A', $str, $match, null, $cursor)) {
-                $cursor += strlen($match[0]);
-                $grammar->addGrammar(self::parseGrammar($str, false));
-            } elseif (true !== $main && preg_match('/\]/A', $str, $match, null, $cursor)) {
-                $cursor += strlen($match[0]);
-
-                return $grammar;
-            } else {
-                throw new Twig_Error_Runtime(sprintf('Unable to parse grammar "%s" near "...%s..."', $str, substr($str, $cursor, 10)));
-            }
-        }
-
-        return $grammar;
-    }
-}
diff --git a/test/Twig/Tests/Grammar/ArgumentsTest.php b/test/Twig/Tests/Grammar/ArgumentsTest.php
deleted file mode 100644 (file)
index 1578600..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Twig_Tests_Grammar_ArgumentsTest extends PHPUnit_Framework_TestCase
-{
-    public function testMagicToString()
-    {
-        $grammar = new Twig_Grammar_Arguments('foo');
-        $this->assertEquals('<foo:arguments>', (string) $grammar);
-    }
-}
diff --git a/test/Twig/Tests/Grammar/ArrayTest.php b/test/Twig/Tests/Grammar/ArrayTest.php
deleted file mode 100644 (file)
index 7af1774..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Twig_Tests_Grammar_ArrayTest extends PHPUnit_Framework_TestCase
-{
-    public function testMagicToString()
-    {
-        $grammar = new Twig_Grammar_Array('foo');
-        $this->assertEquals('<foo:array>', (string) $grammar);
-    }
-}
diff --git a/test/Twig/Tests/Grammar/BodyTest.php b/test/Twig/Tests/Grammar/BodyTest.php
deleted file mode 100644 (file)
index d342675..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Twig_Tests_Grammar_BodyTest extends PHPUnit_Framework_TestCase
-{
-    public function testMagicToString()
-    {
-        $grammar = new Twig_Grammar_Body('foo');
-        $this->assertEquals('<foo:body>', (string) $grammar);
-    }
-}
diff --git a/test/Twig/Tests/Grammar/BooleanTest.php b/test/Twig/Tests/Grammar/BooleanTest.php
deleted file mode 100644 (file)
index 6cae563..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Twig_Tests_Grammar_BooleanTest extends PHPUnit_Framework_TestCase
-{
-    public function testMagicToString()
-    {
-        $grammar = new Twig_Grammar_Boolean('foo');
-        $this->assertEquals('<foo:boolean>', (string) $grammar);
-    }
-}
diff --git a/test/Twig/Tests/Grammar/ConstantTest.php b/test/Twig/Tests/Grammar/ConstantTest.php
deleted file mode 100644 (file)
index f293c8b..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Twig_Tests_Grammar_ConstantTest extends PHPUnit_Framework_TestCase
-{
-    public function testMagicToString()
-    {
-        $grammar = new Twig_Grammar_Constant('foo');
-        $this->assertEquals('foo', (string) $grammar);
-    }
-}
diff --git a/test/Twig/Tests/Grammar/ExpressionTest.php b/test/Twig/Tests/Grammar/ExpressionTest.php
deleted file mode 100644 (file)
index 2919196..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Twig_Tests_Grammar_ExpressionTest extends PHPUnit_Framework_TestCase
-{
-    public function testMagicToString()
-    {
-        $grammar = new Twig_Grammar_Expression('foo');
-        $this->assertEquals('<foo>', (string) $grammar);
-    }
-}
diff --git a/test/Twig/Tests/Grammar/NumberTest.php b/test/Twig/Tests/Grammar/NumberTest.php
deleted file mode 100644 (file)
index 4749803..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Twig_Tests_Grammar_NumberTest extends PHPUnit_Framework_TestCase
-{
-    public function testMagicToString()
-    {
-        $grammar = new Twig_Grammar_Number('foo');
-        $this->assertEquals('<foo:number>', (string) $grammar);
-    }
-}
diff --git a/test/Twig/Tests/Grammar/OptionalTest.php b/test/Twig/Tests/Grammar/OptionalTest.php
deleted file mode 100644 (file)
index 049f501..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Twig_Tests_Grammar_OptionalTest extends PHPUnit_Framework_TestCase
-{
-    public function testMagicToString()
-    {
-        $grammar = new Twig_Grammar_Optional(new Twig_Grammar_Constant('foo'), new Twig_Grammar_Number('bar'));
-        $this->assertEquals('[foo <bar:number>]', (string) $grammar);
-    }
-}
diff --git a/test/Twig/Tests/Grammar/TagTest.php b/test/Twig/Tests/Grammar/TagTest.php
deleted file mode 100644 (file)
index 1441e14..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Twig_Tests_Grammar_TagTest extends PHPUnit_Framework_TestCase
-{
-    public function testMagicToString()
-    {
-        $grammar = new Twig_Grammar_Tag(
-            new Twig_Grammar_Constant('foo'),
-            new Twig_Grammar_Number('bar'),
-            new Twig_Grammar_Optional(new Twig_Grammar_Constant('foo'), new Twig_Grammar_Number('bar'))
-        );
-        $this->assertEquals('foo <bar:number> [foo <bar:number>]', (string) $grammar);
-    }
-}
diff --git a/test/Twig/Tests/SimpleTokenParser.php b/test/Twig/Tests/SimpleTokenParser.php
deleted file mode 100644 (file)
index 567d133..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class SimpleTokenParser extends Twig_SimpleTokenParser
-{
-    protected $tag;
-    protected $grammar;
-
-    public function __construct($tag, $grammar)
-    {
-        $this->tag = $tag;
-        $this->grammar = $grammar;
-    }
-
-    public function getGrammar()
-    {
-        return $this->grammar;
-    }
-
-    public function getTag()
-    {
-        return $this->tag;
-    }
-
-    public function getNode(array $values, $line)
-    {
-        $nodes = array();
-        $nodes[] = new Twig_Node_Print(new Twig_Node_Expression_Constant('|', $line), $line);
-        foreach ($values as $value) {
-            if ($value instanceof Twig_NodeInterface) {
-                $nodes[] = new Twig_Node_Print($value, $line);
-            } else {
-                $nodes[] = new Twig_Node_Print(new Twig_Node_Expression_Constant($value, $line), $line);
-            }
-            $nodes[] = new Twig_Node_Print(new Twig_Node_Expression_Constant('|', $line), $line);
-        }
-
-        return new Twig_Node($nodes);
-    }
-}
\ No newline at end of file
diff --git a/test/Twig/Tests/SimpleTokenParserTest.php b/test/Twig/Tests/SimpleTokenParserTest.php
deleted file mode 100644 (file)
index 4db10fd..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Twig_Tests_SimpleTokenParserTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider getTests
-     */
-    public function testParseGrammar($str, $grammar)
-    {
-        $this->assertEquals($grammar, Twig_SimpleTokenParser::parseGrammar($str), '::parseGrammar() parses a grammar');
-    }
-
-    public function testParseGrammarExceptions()
-    {
-        try {
-            Twig_SimpleTokenParser::parseGrammar('<foo:foo>');
-            $this->fail();
-        } catch (Exception $e) {
-            $this->assertEquals('Twig_Error_Runtime', get_class($e));
-        }
-
-        try {
-            Twig_SimpleTokenParser::parseGrammar('<foo:foo');
-            $this->fail();
-        } catch (Exception $e) {
-            $this->assertEquals('Twig_Error_Runtime', get_class($e));
-        }
-
-        try {
-            Twig_SimpleTokenParser::parseGrammar('<foo:foo> (with');
-            $this->fail();
-        } catch (Exception $e) {
-            $this->assertEquals('Twig_Error_Runtime', get_class($e));
-        }
-    }
-
-    public function getTests()
-    {
-        return array(
-            array('', new Twig_Grammar_Tag()),
-            array('const', new Twig_Grammar_Tag(
-                new Twig_Grammar_Constant('const')
-            )),
-            array('   const   ', new Twig_Grammar_Tag(
-                new Twig_Grammar_Constant('const')
-            )),
-            array('<expr>', new Twig_Grammar_Tag(
-                new Twig_Grammar_Expression('expr')
-            )),
-            array('<expr:expression>', new Twig_Grammar_Tag(
-                new Twig_Grammar_Expression('expr')
-            )),
-            array('   <expr:expression>   ', new Twig_Grammar_Tag(
-                new Twig_Grammar_Expression('expr')
-            )),
-            array('<nb:number>', new Twig_Grammar_Tag(
-                new Twig_Grammar_Number('nb')
-            )),
-            array('<bool:boolean>', new Twig_Grammar_Tag(
-                new Twig_Grammar_Boolean('bool')
-            )),
-            array('<content:body>', new Twig_Grammar_Tag(
-                new Twig_Grammar_Body('content')
-            )),
-            array('<expr:expression> [with <arguments:array>]', new Twig_Grammar_Tag(
-                new Twig_Grammar_Expression('expr'),
-                new Twig_Grammar_Optional(
-                    new Twig_Grammar_Constant('with'),
-                    new Twig_Grammar_Array('arguments')
-                )
-            )),
-            array('  <expr:expression>   [  with   <arguments:array> ]  ', new Twig_Grammar_Tag(
-                new Twig_Grammar_Expression('expr'),
-                new Twig_Grammar_Optional(
-                    new Twig_Grammar_Constant('with'),
-                    new Twig_Grammar_Array('arguments')
-                )
-            )),
-            array('<expr:expression> [with <arguments:array> [or <optional:expression>]]', new Twig_Grammar_Tag(
-                new Twig_Grammar_Expression('expr'),
-                new Twig_Grammar_Optional(
-                    new Twig_Grammar_Constant('with'),
-                    new Twig_Grammar_Array('arguments'),
-                    new Twig_Grammar_Optional(
-                        new Twig_Grammar_Constant('or'),
-                        new Twig_Grammar_Expression('optional')
-                    )
-                )
-            )),
-            array('<expr:expression> [with <arguments:array> [, <optional:expression>]]', new Twig_Grammar_Tag(
-                new Twig_Grammar_Expression('expr'),
-                new Twig_Grammar_Optional(
-                    new Twig_Grammar_Constant('with'),
-                    new Twig_Grammar_Array('arguments'),
-                    new Twig_Grammar_Optional(
-                        new Twig_Grammar_Constant(',', Twig_Token::PUNCTUATION_TYPE),
-                        new Twig_Grammar_Expression('optional')
-                    )
-                )
-            )),
-        );
-    }
-}
diff --git a/test/Twig/Tests/grammarTest.php b/test/Twig/Tests/grammarTest.php
deleted file mode 100644 (file)
index 0a63d13..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-require_once dirname(__FILE__).'/SimpleTokenParser.php';
-
-class grammarTest extends PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider getTests
-     */
-    public function testGrammar($tag, $grammar, $template, $output, $exception)
-    {
-        $twig = new Twig_Environment(new Twig_Loader_String(), array('cache' => false));
-        $twig->addTokenParser(new SimpleTokenParser($tag, $grammar));
-
-        $ok = true;
-        try {
-            $template = $twig->loadTemplate($template);
-        } catch (Exception $e) {
-            $ok = false;
-
-            if (false === $exception) {
-                $this->fail('Exception not expected');
-            } else {
-                $this->assertEquals($exception, get_class($e));
-            }
-        }
-
-        if ($ok) {
-            if (false !== $exception) {
-                $this->fail(sprintf('Exception "%s" expected', $exception));
-            }
-
-            $actual = $template->render(array());
-            $this->assertEquals($output, $actual);
-        }
-    }
-
-    public function getTests()
-    {
-        return array(
-            array('foo1', '', '{% foo1 %}', '|', false),
-            array('foo2', '', '{% foo2 "bar" %}', '|', 'Twig_Error_Syntax'),
-            array('foo3', '<foo>', '{% foo3 "bar" %}', '|bar|', false),
-            array('foo4', '<foo>', '{% foo4 1 + 2 %}', '|3|', false),
-            array('foo5', '<foo:expression>', '{% foo5 1 + 2 %}', '|3|', false),
-            array('foo6', '<foo:array>', '{% foo6 1 + 2 %}', '|3|', 'Twig_Error_Syntax'),
-            array('foo7', '<foo>', '{% foo7 %}', '|3|', 'Twig_Error_Syntax'),
-            array('foo8', '<foo:array>', '{% foo8 [1, 2] %}', '|Array|', false),
-            array('foo9', '<foo> with <bar>', '{% foo9 "bar" with "foobar" %}', '|bar|with|foobar|', false),
-            array('foo10', '<foo> [with <bar>]', '{% foo10 "bar" with "foobar" %}', '|bar|with|foobar|', false),
-            array('foo11', '<foo> [with <bar>]', '{% foo11 "bar" %}', '|bar|', false),
-        );
-    }
-}