expectException( '\SMW\Exception\FileNotReadableException' );
$instance->load( 'foo', 'bar' );
}
public function testCode_ThrowsException() {
$instance = new TemplateEngine();
$this->expectException( '\RuntimeException' );
$instance->publish( 'Foo' );
}
public function testLoad() {
$instance = new TemplateEngine( \SMW_PHPUNIT_DIR );
$instance->load( '/Fixtures/readable.file', 'Foo' );
$instance->compile( 'Foo', [] );
$this->assertEquals(
'Foo',
$instance->publish( 'Foo' )
);
}
public function testBulkLoad() {
$instance = new TemplateEngine( \SMW_PHPUNIT_DIR );
$instance->clearTemplates();
$instance->bulkLoad( [ '/Fixtures/readable.file' => 'Foo' ] );
$instance->compile( 'Foo', [] );
$this->assertEquals(
'Foo',
$instance->publish( 'Foo' )
);
}
public function testHtmlTidy() {
$instance = new TemplateEngine( \SMW_PHPUNIT_DIR );
$instance->clearTemplates();
$instance->setContents( __METHOD__, "{{foo}}\n " );
$instance->compile( __METHOD__, [ 'foo' => 'bar' ] );
$this->assertEquals(
"bar\n ",
$instance->publish( __METHOD__ )
);
$this->assertEquals(
"bar",
$instance->publish( __METHOD__, TemplateEngine::HTML_TIDY )
);
}
/**
* @dataProvider contentsProvider
*/
public function testCompileContents( $contents, $args, $expected ) {
$instance = new TemplateEngine();
$instance->setContents( __METHOD__, $contents );
$instance->compile( __METHOD__, $args );
$this->assertSame(
$expected,
$instance->publish( __METHOD__ )
);
}
public function contentsProvider() {
yield [
'abc {{FOO}} 123',
[
'FOO' => '_ABC_'
],
'abc _ABC_ 123',
];
}
}