| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- <?php
- /*
- * This file is part of Mustache.php.
- *
- * (c) 2012 Justin Hileman
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- /**
- * @group unit
- */
- class Mustache_Test_TokenizerTest extends PHPUnit_Framework_TestCase
- {
- /**
- * @dataProvider getTokens
- */
- public function testScan($text, $delimiters, $expected)
- {
- $tokenizer = new Mustache_Tokenizer;
- $this->assertSame($expected, $tokenizer->scan($text, $delimiters));
- }
- public function getTokens()
- {
- return array(
- array(
- 'text',
- null,
- array(
- array(
- Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_TEXT,
- Mustache_Tokenizer::VALUE => 'text',
- ),
- ),
- ),
- array(
- 'text',
- '<<< >>>',
- array(
- array(
- Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_TEXT,
- Mustache_Tokenizer::VALUE => 'text',
- ),
- ),
- ),
- array(
- '{{ name }}',
- null,
- array(
- array(
- Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_ESCAPED,
- Mustache_Tokenizer::NAME => 'name',
- Mustache_Tokenizer::OTAG => '{{',
- Mustache_Tokenizer::CTAG => '}}',
- Mustache_Tokenizer::INDEX => 10,
- )
- )
- ),
- array(
- '{{ name }}',
- '<<< >>>',
- array(
- array(
- Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_TEXT,
- Mustache_Tokenizer::VALUE => '{{ name }}',
- ),
- ),
- ),
- array(
- '<<< name >>>',
- '<<< >>>',
- array(
- array(
- Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_ESCAPED,
- Mustache_Tokenizer::NAME => 'name',
- Mustache_Tokenizer::OTAG => '<<<',
- Mustache_Tokenizer::CTAG => '>>>',
- Mustache_Tokenizer::INDEX => 12,
- )
- )
- ),
- array(
- "{{{ a }}}\n{{# b }} \n{{= | | =}}| c ||/ b |\n|{ d }|",
- null,
- array(
- array(
- Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_UNESCAPED,
- Mustache_Tokenizer::NAME => 'a',
- Mustache_Tokenizer::OTAG => '{{',
- Mustache_Tokenizer::CTAG => '}}',
- Mustache_Tokenizer::INDEX => 8,
- ),
- array(
- Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_TEXT,
- Mustache_Tokenizer::VALUE => "\n",
- ),
- array(
- Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_SECTION,
- Mustache_Tokenizer::NAME => 'b',
- Mustache_Tokenizer::OTAG => '{{',
- Mustache_Tokenizer::CTAG => '}}',
- Mustache_Tokenizer::INDEX => 18,
- ),
- null,
- array(
- Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_ESCAPED,
- Mustache_Tokenizer::NAME => 'c',
- Mustache_Tokenizer::OTAG => '|',
- Mustache_Tokenizer::CTAG => '|',
- Mustache_Tokenizer::INDEX => 37,
- ),
- array(
- Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_END_SECTION,
- Mustache_Tokenizer::NAME => 'b',
- Mustache_Tokenizer::OTAG => '|',
- Mustache_Tokenizer::CTAG => '|',
- Mustache_Tokenizer::INDEX => 37,
- ),
- array(
- Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_TEXT,
- Mustache_Tokenizer::VALUE => "\n",
- ),
- array(
- Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_UNESCAPED,
- Mustache_Tokenizer::NAME => 'd',
- Mustache_Tokenizer::OTAG => '|',
- Mustache_Tokenizer::CTAG => '|',
- Mustache_Tokenizer::INDEX => 51,
- ),
- )
- ),
- );
- }
- }
|