Yaffs site version 1.1
[yaffs-website] / vendor / symfony / config / Tests / ConfigCacheTest.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\Config\Tests;
13
14 use PHPUnit\Framework\TestCase;
15 use Symfony\Component\Config\ConfigCache;
16 use Symfony\Component\Config\Tests\Resource\ResourceStub;
17
18 class ConfigCacheTest extends TestCase
19 {
20     private $cacheFile = null;
21
22     protected function setUp()
23     {
24         $this->cacheFile = tempnam(sys_get_temp_dir(), 'config_');
25     }
26
27     protected function tearDown()
28     {
29         $files = array($this->cacheFile, $this->cacheFile.'.meta');
30
31         foreach ($files as $file) {
32             if (file_exists($file)) {
33                 unlink($file);
34             }
35         }
36     }
37
38     /**
39      * @dataProvider debugModes
40      */
41     public function testCacheIsNotValidIfNothingHasBeenCached($debug)
42     {
43         unlink($this->cacheFile); // remove tempnam() side effect
44         $cache = new ConfigCache($this->cacheFile, $debug);
45
46         $this->assertFalse($cache->isFresh());
47     }
48
49     public function testIsAlwaysFreshInProduction()
50     {
51         $staleResource = new ResourceStub();
52         $staleResource->setFresh(false);
53
54         $cache = new ConfigCache($this->cacheFile, false);
55         $cache->write('', array($staleResource));
56
57         $this->assertTrue($cache->isFresh());
58     }
59
60     /**
61      * @dataProvider debugModes
62      */
63     public function testIsFreshWhenNoResourceProvided($debug)
64     {
65         $cache = new ConfigCache($this->cacheFile, $debug);
66         $cache->write('', array());
67         $this->assertTrue($cache->isFresh());
68     }
69
70     public function testFreshResourceInDebug()
71     {
72         $freshResource = new ResourceStub();
73         $freshResource->setFresh(true);
74
75         $cache = new ConfigCache($this->cacheFile, true);
76         $cache->write('', array($freshResource));
77
78         $this->assertTrue($cache->isFresh());
79     }
80
81     public function testStaleResourceInDebug()
82     {
83         $staleResource = new ResourceStub();
84         $staleResource->setFresh(false);
85
86         $cache = new ConfigCache($this->cacheFile, true);
87         $cache->write('', array($staleResource));
88
89         $this->assertFalse($cache->isFresh());
90     }
91
92     public function debugModes()
93     {
94         return array(
95             array(true),
96             array(false),
97         );
98     }
99 }