-
Notifications
You must be signed in to change notification settings - Fork 0
/
TemplateParserTest.php
65 lines (55 loc) · 1.58 KB
/
TemplateParserTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
use PHPMV\core\TemplateParser;
/**
* TemplateParser test case.
*/
class TemplateParserTest extends \Codeception\Test\Unit {
/**
*
* @var TemplateParser
*/
private $templateParser;
protected function _before() {
TemplateParser::setTemplateDirectory(dirname(__FILE__) . '/../files/templates/');
$this->templateParser = new TemplateParser();
}
protected function _after() {
$this->templateParser = null;
}
/**
* Tests TemplateParser->loadTemplatefile()
*/
public function testLoadTemplatefile() {
$this->templateParser->loadTemplatefile('renderComponent');
$this->assertStringContainsString('domContainer', $this->templateParser->getTemplateContent());
}
/**
* Tests TemplateParser->parse()
*/
public function testParse() {
$this->templateParser->loadTemplatefile('renderComponent');
$res = $this->templateParser->parse([
'selector' => 'id',
'component' => 'myCompo'
]);
$this->assertEquals("const domContainer = document.querySelector('id');
ReactDOM.render(e(myCompo), domContainer);", $res);
}
/**
* Tests TemplateParser->loadAndParse()
*/
public function testLoadAndParse() {
$res = $this->templateParser->loadAndParse('renderComponent', [
'selector' => 'id',
'component' => 'myCompo'
]);
$this->assertEquals("const domContainer = document.querySelector('id');
ReactDOM.render(e(myCompo), domContainer);", $res);
}
/**
* Tests TemplateParser::getTemplateDirectory()
*/
public function testGetTemplateDirectory() {
$this->assertEquals(dirname(__FILE__) . '/../files/templates/', TemplateParser::getTemplateDirectory());
}
}