forked from timber/timber
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest-timber-filters.php
49 lines (44 loc) · 1.33 KB
/
test-timber-filters.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
<?php
class TestTimberFilters extends Timber_UnitTestCase
{
public function testLoaderRenderDataFilter()
{
add_filter('timber/loader/render_data', [$this, 'filter_timber_render_data'], 10, 2);
$output = Timber::compile('assets/output.twig', [
'output' => 14,
]);
$this->assertEquals('output.twig assets/output.twig', $output);
}
public function testRenderDataFilter()
{
add_filter('timber/render/data', function ($data, $file) {
$data['post'] = [
'title' => 'daaa',
];
return $data;
}, 10, 2);
ob_start();
Timber::render('assets/single-post.twig', [
'fop' => 'wag',
]);
$str = ob_get_clean();
$this->assertEquals('<h1>daaa</h1>', $str);
}
public function filter_timber_render_data($data, $file)
{
$data['output'] = $file;
return $data;
}
public function testOutputFilter()
{
add_filter('timber/output', [$this, 'filter_timber_output'], 10, 3);
$output = Timber::compile('assets/single.twig', [
'number' => 14,
]);
$this->assertEquals('assets/single.twig14', $output);
}
public function filter_timber_output($output, $data, $file)
{
return $file . $data['number'];
}
}