vendor/assetic/tests/Assetic/Test/Asset/AssetReferenceTest.php
author cavaliet
Mon, 07 Jul 2014 17:23:47 +0200
changeset 122 d672f7dd74dc
parent 0 7f95f8617b0b
permissions -rwxr-xr-x
Added tag V00.17 for changeset ada5f3d8b5b4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
/*
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 * This file is part of the Assetic package, an OpenSky project.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 *
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 * (c) 2010-2011 OpenSky Project Inc
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 *
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
 * For the full copyright and license information, please view the LICENSE
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 * file that was distributed with this source code.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
 */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
namespace Assetic\Test\Asset;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
use Assetic\Asset\AssetReference;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
class AssetReferenceTest extends \PHPUnit_Framework_TestCase
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
{
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    private $am;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
    private $ref;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
    protected function setUp()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
    {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
        $this->am = $this->getMock('Assetic\\AssetManager');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
        $this->ref = new AssetReference($this->am, 'foo');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
     * @dataProvider getMethodAndRetVal
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    public function testMethods($method, $returnValue)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
    {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
        $asset = $this->getMock('Assetic\\Asset\\AssetInterface');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
        $this->am->expects($this->once())
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
            ->method('get')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
            ->with('foo')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
            ->will($this->returnValue($asset));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
        $asset->expects($this->once())
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
            ->method($method)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
            ->will($this->returnValue($returnValue));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
        $this->assertEquals($returnValue, $this->ref->$method(), '->'.$method.'() returns the asset value');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
    }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
    public function getMethodAndRetVal()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
    {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
        return array(
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
            array('getContent', 'asdf'),
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
            array('getSourceRoot', 'asdf'),
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
            array('getSourcePath', 'asdf'),
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
            array('getTargetPath', 'asdf'),
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
            array('getLastModified', 123),
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
        );
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
    }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
    public function testLazyFilters()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
    {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
        $this->am->expects($this->never())->method('get');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
        $this->ref->ensureFilter($this->getMock('Assetic\\Filter\\FilterInterface'));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
    }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
    public function testFilterFlush()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
    {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
        $asset = $this->getMock('Assetic\\Asset\\AssetInterface');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
        $this->am->expects($this->exactly(2))
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
            ->method('get')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
            ->with('foo')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
            ->will($this->returnValue($asset));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
        $asset->expects($this->once())->method('ensureFilter');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
        $asset->expects($this->once())
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
            ->method('getFilters')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
            ->will($this->returnValue(array()));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
        $this->ref->ensureFilter($this->getMock('Assetic\\Filter\\FilterInterface'));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
        $this->assertInternalType('array', $this->ref->getFilters(), '->getFilters() flushes and returns filters');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
    }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
    public function testSetContent()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
    {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
        $asset = $this->getMock('Assetic\\Asset\\AssetInterface');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
        $this->am->expects($this->once())
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
            ->method('get')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
            ->with('foo')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
            ->will($this->returnValue($asset));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
        $asset->expects($this->once())
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
            ->method('setContent')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
            ->with('asdf');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
        $this->ref->setContent('asdf');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
    }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
    public function testLoad()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
    {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
        $filter = $this->getMock('Assetic\\Filter\\FilterInterface');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
        $asset = $this->getMock('Assetic\\Asset\\AssetInterface');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
        $this->am->expects($this->exactly(2))
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
            ->method('get')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
            ->with('foo')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
            ->will($this->returnValue($asset));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
        $asset->expects($this->once())
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
            ->method('load')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
            ->with($filter);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
        $this->ref->load($filter);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
    }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
    public function testDump()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
    {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
        $filter = $this->getMock('Assetic\\Filter\\FilterInterface');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
        $asset = $this->getMock('Assetic\\Asset\\AssetInterface');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
        $this->am->expects($this->exactly(2))
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
            ->method('get')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
            ->with('foo')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
            ->will($this->returnValue($asset));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
        $asset->expects($this->once())
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
            ->method('dump')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
            ->with($filter);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
        $this->ref->dump($filter);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
    }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
}