summaryrefslogtreecommitdiff
path: root/tests/UnitTests/ResourceTests/ResourcePlugins/ResourcePluginTest.php
blob: 3a67ef21d176096cdf69f5043db79cd34ff37dec (plain)
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
65
66
67
68
69
70
71
72
73
74
75
<?php
/**
 * Smarty PHPunit tests resource plugins
 *

 * @author  Uwe Tews
 */

/**
 * class for resource plugins tests
 *
 *
 * 
 *
 */
class ResourcePluginTest extends PHPUnit_Smarty
{
    public function setUp(): void
    {
          $this->setUpSmarty(__DIR__);
    }


    /**
     * test resource plugin rendering
     */
    public function testResourcePlugin()
    {
        $this->smarty->addPluginsDir("./PHPunitplugins/");
        $this->assertEquals('hello world', $this->smarty->fetch('db:test'));
    }

    /**
     * test resource plugin rendering
     */
    public function testResourcePluginObject()
    {
        $this->smarty->addPluginsDir("./PHPunitplugins/");
        $this->assertEquals('hello world', $this->smarty->fetch('db2:test'));
    }

    /**
     * test resource plugin rendering of a registered object
     */
    public function testResourcePluginRegisteredInstance()
    {
        $this->smarty->addPluginsDir("./PHPunitplugins/");
        $this->smarty->registerResource('db2a', new Smarty_Resource_Db2('db2a'));
        $this->assertEquals('hello world', $this->smarty->fetch('db2a:test'));
    }

    /**
     * test resource plugin non-existent compiled cache of a recompiling resource
     */
    public function testResourcePluginRecompiledCompiledFilepath()
    {
        $this->smarty->addPluginsDir("./PHPunitplugins/");
        $tpl = $this->smarty->createTemplate('db2:test.tpl');
        $expected = realpath('./templates_c/' . sha1('db2:test.tpl') . '.db2.test.tpl.php');
        $this->assertFalse(!!$expected);
        $this->assertNull($tpl->getCompiled()->filepath);
    }

    /**
     * test resource plugin timestamp
     */
    public function testResourcePluginTimestamp()
    {
        $this->smarty->addPluginsDir("./PHPunitplugins/");
        $tpl = $this->smarty->createTemplate('db:test');
        $this->assertTrue(is_integer($tpl->getSource()->getTimeStamp()));
        $this->assertEquals(10, strlen($tpl->getSource()->getTimeStamp()));
    }
}