Add tests for partial import

This commit is contained in:
bzick
2013-03-15 00:12:02 +04:00
parent ca499671ba
commit 97e01e7f79
5 changed files with 70 additions and 27 deletions

View File

@@ -14,6 +14,10 @@ class MacrosTest extends TestCase {
x - y - z = {$x - $y - $z}
{/macro}
{macro multi(x, y)}
x * y = {$x * $y}
{/macro}
Math: {macro.plus x=2 y=3}, {macro.minus x=10 y=4}
');
@@ -23,6 +27,21 @@ class MacrosTest extends TestCase {
Imp: {macro.plus x=1 y=2}, {math.minus x=6 y=2 z=1}
');
$this->tpl("import_custom.tpl", '
{macro minus(x, y)}
new minus macros
{/macro}
{import [plus, minus] from "math.tpl" as math}
a: {math.plus x=1 y=2}, {math.minus x=6 y=2 z=1}, {macro.minus x=5 y=3}.
');
$this->tpl("import_miss.tpl", '
{import [minus] from "math.tpl" as math}
a: {macro.plus x=5 y=3}.
');
}
public function testMacros() {
@@ -37,4 +56,20 @@ class MacrosTest extends TestCase {
$this->assertSame('Imp: x + y = 3 , x - y - z = 3', Modifier::strip($tpl->fetch(array()), true));
}
public function testImportCustom() {
$tpl = $this->aspect->compile('import_custom.tpl');
$this->assertSame('a: x + y = 3 , x - y - z = 3 , new minus macros .', Modifier::strip($tpl->fetch(array()), true));
}
/**
* @expectedExceptionMessage Undefined macro 'plus'
* @expectedException \Aspect\CompileException
*/
public function testImportMiss() {
$tpl = $this->aspect->compile('import_miss.tpl');
$this->assertSame('a: x + y = 3 , x - y - z = 3 , new minus macros .', Modifier::strip($tpl->fetch(array()), true));
}
}

View File

@@ -54,7 +54,7 @@ class TokenizerTest extends \PHPUnit_Framework_TestCase {
try {
$tokens->skip(T_STRING)->skip('(')->skip(':');
} catch(\Exception $e) {
$this->assertInstanceOf('Aspect\UnexpectedException', $e);
$this->assertInstanceOf('Aspect\UnexpectedTokenException', $e);
$this->assertStringStartsWith("Unexpected token '3' in expression, expect ':'", $e->getMessage());
}
$this->assertTrue($tokens->valid());