Add test coverage for Mustache.php 2.0

Update legacy tests for new codebase.
This commit is contained in:
Justin Hileman
2012-02-29 19:12:22 -08:00
parent 8710e4b8a4
commit 0034bf657b
16 changed files with 1123 additions and 707 deletions
+117
View File
@@ -0,0 +1,117 @@
<?php
namespace Mustache\Test;
use Mustache\Tokenizer;
/**
* @group unit
*/
class TokenizerTest extends \PHPUnit_Framework_TestCase {
/**
* @dataProvider getTokens
*/
public function testScan($text, $delimiters, $expected) {
$tokenizer = new Tokenizer;
$this->assertSame($expected, $tokenizer->scan($text, $delimiters));
}
public function getTokens() {
return array(
array(
'text',
null,
array('text'),
),
array(
'text',
'<<< >>>',
array('text'),
),
array(
'{{ name }}',
null,
array(
array(
Tokenizer::TAG => '_v',
Tokenizer::NAME => 'name',
Tokenizer::OTAG => '{{',
Tokenizer::CTAG => '}}',
Tokenizer::INDEX => 10,
)
)
),
array(
'{{ name }}',
'<<< >>>',
array('{{ name }}'),
),
array(
'<<< name >>>',
'<<< >>>',
array(
array(
Tokenizer::TAG => '_v',
Tokenizer::NAME => 'name',
Tokenizer::OTAG => '<<<',
Tokenizer::CTAG => '>>>',
Tokenizer::INDEX => 12,
)
)
),
array(
"{{{ a }}}\n{{# b }} \n{{= | | =}}| c ||/ b |\n|{ d }|",
null,
array(
array(
Tokenizer::TAG => '{',
Tokenizer::NAME => 'a',
Tokenizer::OTAG => '{{',
Tokenizer::CTAG => '}}',
Tokenizer::INDEX => 8,
),
"\n",
array(
Tokenizer::TAG => '#',
Tokenizer::NAME => 'b',
Tokenizer::OTAG => '{{',
Tokenizer::CTAG => '}}',
Tokenizer::INDEX => 18,
),
null,
array(
Tokenizer::TAG => '_v',
Tokenizer::NAME => 'c',
Tokenizer::OTAG => '|',
Tokenizer::CTAG => '|',
Tokenizer::INDEX => 37,
),
array(
Tokenizer::TAG => '/',
Tokenizer::NAME => 'b',
Tokenizer::OTAG => '|',
Tokenizer::CTAG => '|',
Tokenizer::INDEX => 37,
),
"\n",
array(
Tokenizer::TAG => '{',
Tokenizer::NAME => 'd',
Tokenizer::OTAG => '|',
Tokenizer::CTAG => '|',
Tokenizer::INDEX => 51,
),
)
),
);
}
}