mirror of
https://github.com/fenom-template/fenom.git
synced 2023-08-10 21:13:07 +03:00
Merge branch 'origin/master'
Conflicts: src/Fenom/Compiler.php src/Fenom/Template.php tests/cases/Fenom/TemplateTest.php tests/cases/Fenom/TokenizerTest.php tests/cases/FenomTest.php
This commit is contained in:
@ -1,6 +1,8 @@
|
||||
<?php
|
||||
|
||||
require_once __DIR__ . "/../vendor/autoload.php";
|
||||
$loader = include(__DIR__ . "/../vendor/autoload.php");
|
||||
/* @var Composer\Autoload\ClassLoader $loader */
|
||||
$loader->add('Fenom', __DIR__.'/cases');
|
||||
|
||||
|
||||
define('FENOM_RESOURCES', __DIR__ . "/resources");
|
||||
|
@ -8,12 +8,16 @@ class TokenizerTest extends \PHPUnit_Framework_TestCase
|
||||
|
||||
public function testTokens()
|
||||
{
|
||||
$code = 'hello, please resolve this example: sin($x)+tan($x*$t) = {U|[0,1]}';
|
||||
$code = 'hello, please resolve this example: sin($x)+tan($x*$t) = {U|[0,1]}';
|
||||
$tokens = new Tokenizer($code);
|
||||
$this->assertSame($tokens, $tokens->back());
|
||||
$this->assertSame(T_STRING, $tokens->key());
|
||||
$this->assertSame("hello", $tokens->current());
|
||||
$this->assertSame(1, $tokens->getLine());
|
||||
|
||||
|
||||
$this->assertTrue($tokens->isNext(","));
|
||||
|
||||
$this->assertFalse($tokens->isNext("="));
|
||||
$this->assertFalse($tokens->isNext(T_STRING));
|
||||
$this->assertFalse($tokens->isNext($tokens::MACRO_UNARY));
|
||||
@ -24,6 +28,13 @@ class TokenizerTest extends \PHPUnit_Framework_TestCase
|
||||
$this->assertSame(",", $tokens->getNext());
|
||||
$this->assertSame(",", $tokens->key());
|
||||
$this->assertSame("please", $tokens->getNext(T_STRING));
|
||||
$this->assertSame(array(
|
||||
T_STRING,
|
||||
'please',
|
||||
' ',
|
||||
1,
|
||||
'T_STRING'
|
||||
), $tokens->curr);
|
||||
$this->assertSame("resolve", $tokens->getNext($tokens::MACRO_UNARY, T_STRING));
|
||||
|
||||
$tokens->next();
|
||||
@ -51,6 +62,7 @@ class TokenizerTest extends \PHPUnit_Framework_TestCase
|
||||
|
||||
$this->assertSame($code, $tokens->getSnippetAsString(-100, 100));
|
||||
$this->assertSame('+', $tokens->getSnippetAsString(100, -100));
|
||||
$this->assertSame('sin($x)+tan($x*$t)', $tokens->getSnippetAsString(-4, 6));
|
||||
}
|
||||
|
||||
public function testSkip()
|
||||
@ -67,8 +79,14 @@ class TokenizerTest extends \PHPUnit_Framework_TestCase
|
||||
}
|
||||
$this->assertTrue($tokens->valid());
|
||||
$this->assertSame("3", $tokens->current());
|
||||
|
||||
$this->assertSame(T_LNUMBER, $tokens->key());
|
||||
$this->assertSame($tokens, $tokens->next());
|
||||
$tokens->next();
|
||||
$this->assertSame("double", $tokens->getAndNext());
|
||||
$this->assertSame(")", $tokens->current());
|
||||
$this->assertTrue($tokens->isLast());
|
||||
$this->assertSame($tokens, $tokens->next());
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user