Completed
Push — master ( 06907c...e9fbfe )
by Iulian
10:52
created

getAssetVersionFunctionReturnManifest()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 17
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 17
rs 9.4285
cc 1
eloc 10
nc 1
nop 0
1
<?php
2
3
namespace Iulyanp\ElixirBundle\Tests\Twig;
4
5
use Iulyanp\ElixirBundle\Twig\ElixirExtension;
6
7
/**
8
 * Class ElixirExtensionTest.
9
 */
10
class ElixirExtensionTest extends \PHPUnit_Framework_TestCase
11
{
12
    const WEB_DIR = __DIR__;
13
    const BUILD_DIR = 'stub';
14
15
    /**
16
     * @var
17
     */
18
    private $elixirExtension;
19
20
    /**
21
     * Set UP.
22
     *
23
     * Instantiate ElixirExtension for all tests
24
     */
25
    public function setUp()
26
    {
27
        $this->elixirExtension = new ElixirExtension(self::WEB_DIR, self::BUILD_DIR);
28
    }
29
30
    /**
31
     * @test
32
     */
33
    public function getAssetVersionFunctionReturnManifest()
34
    {
35
        $this->assertEquals(
36
            sprintf('%s%s%s%s', DIRECTORY_SEPARATOR, self::BUILD_DIR, DIRECTORY_SEPARATOR, 'css/app-db9165hf67.css'),
37
            $this->elixirExtension->getAssetVersion('css/app.css')
38
        );
39
40
        $this->assertEquals(
41
            sprintf('%s%s%s%s', DIRECTORY_SEPARATOR, self::BUILD_DIR, DIRECTORY_SEPARATOR, 'css/index-9rt53c9u67.css'),
42
            $this->elixirExtension->getAssetVersion('css/index.css')
43
        );
44
45
        $this->assertEquals(
46
            sprintf('%s%s%s%s', DIRECTORY_SEPARATOR, self::BUILD_DIR, DIRECTORY_SEPARATOR, 'js/app-db9183c967.js'),
47
            $this->elixirExtension->getAssetVersion('js/app.js')
48
        );
49
    }
50
51
    /**
52
     * @test
53
     */
54
    public function elixirFunctionThrowsErrorWhenFileNotExists()
55
    {
56
        $this->expectException('\Exception');
57
        $this->expectExceptionMessage('File css/not_existing.css not defined in asset manifest.');
58
        $this->elixirExtension->getAssetVersion('css/not_existing.css');
59
    }
60
}
61