DemoControllerTest::testNoSidebarAction()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 8
rs 9.4286
cc 1
eloc 5
nc 1
nop 0
1
<?php
2
3
namespace Evheniy\HTML5VertiTemplateBundle\Tests\Controller;
4
5
use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
6
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
7
use Symfony\Component\Config\FileLocator;
8
use Symfony\Component\DependencyInjection\ContainerBuilder;
9
10
/**
11
 * Class DemoControllerTest
12
 *
13
 * @package Evheniy\HTML5VertiTemplateBundle\Tests\Controller
14
 */
15
class DemoControllerTest extends WebTestCase
16
{
17
    /**
18
     * @var \Symfony\Bundle\FrameworkBundle\Client
19
     */
20
    protected $client;
21
22
    /**
23
     *
24
     */
25
    protected function setUp()
26
    {
27
        $this->client = static::createClient();
28
        $this->client->getContainer()->get('twig.loader')->addPath(dirname(__FILE__) . '/../../Resources/views/');
29
        $this->client->getContainer()->get('twig.loader')->addPath(dirname(__FILE__) . '/../../vendor/evheniy/jquery-bundle/Evheniy/JqueryBundle/Resources/views/');
30
    }
31
32
    /**
33
     *
34
     */
35
    public function testIndexAction()
36
    {
37
        $crawler = $this->client->request('GET', '/verti/');
38
        $this->assertGreaterThan(
39
            0,
40
            $crawler->filter('html:contains("Hi. This is Verti.")')->count()
41
        );
42
    }
43
44
    /**
45
     *
46
     */
47
    public function testLeftSidebarAction()
48
    {
49
        $crawler = $this->client->request('GET', '/verti/left-sidebar.html');
50
        $this->assertGreaterThan(
51
            0,
52
            $crawler->filter('html:contains("Left Sidebar")')->count()
53
        );
54
    }
55
56
    /**
57
     *
58
     */
59
    public function testRightSidebarAction()
60
    {
61
        $crawler = $this->client->request('GET', '/verti/right-sidebar.html');
62
        $this->assertGreaterThan(
63
            0,
64
            $crawler->filter('html:contains("Right Sidebar")')->count()
65
        );
66
    }
67
68
    /**
69
     *
70
     */
71
    public function testNoSidebarAction()
72
    {
73
        $crawler = $this->client->request('GET', '/verti/no-sidebar.html');
74
        $this->assertGreaterThan(
75
            0,
76
            $crawler->filter('html:contains("No Sidebar")')->count()
77
        );
78
    }
79
80
    /**
81
     *
82
     */
83
    public function testWithCDN()
84
    {
85
        $this->client = static::createClient(array('environment' => 'cdn', 'debug' => false));
86
        $this->client->getContainer()->get('twig.loader')->addPath(dirname(__FILE__) . '/../../Resources/views/');
87
        $this->client->getContainer()->get('twig.loader')->addPath(dirname(__FILE__) . '/../../vendor/evheniy/jquery-bundle/Evheniy/JqueryBundle/Resources/views/');
88
        $this->client->request('GET', '/verti/');
89
        $this->assertRegExp('/\/\/cdn\.site\.com\/css\/style\.css/', $this->client->getResponse()->getContent());
90
        $this->assertRegExp('/\/\/cdn\.site\.com\/css\/style\-desktop\.css/', $this->client->getResponse()->getContent());
91
        $this->assertRegExp('/\/\/cdn\.site\.com\/css\/ie\/v8\.css/', $this->client->getResponse()->getContent());
92
        $this->assertRegExp('/\/\/cdn\.site\.com\/css\/ie\/html5shiv\.js/', $this->client->getResponse()->getContent());
93
        $this->assertRegExp('/var\ cdn\ \=\ \'\/\/cdn.site.com\'\;/', $this->client->getResponse()->getContent());
94
    }
95
96
    /**
97
     *
98
     */
99
    public function testWithoutCDN()
100
    {
101
        $this->client = static::createClient(array('environment' => 'test', 'debug' => false));
102
        $this->client->getContainer()->get('twig.loader')->addPath(dirname(__FILE__) . '/../../Resources/views/');
103
        $this->client->getContainer()->get('twig.loader')->addPath(dirname(__FILE__) . '/../../vendor/evheniy/jquery-bundle/Evheniy/JqueryBundle/Resources/views/');
104
        $this->client->request('GET', '/verti/');
105
        $this->assertRegExp('/\/css\/style\.css/', $this->client->getResponse()->getContent());
106
        $this->assertRegExp('/\/css\/style\-desktop\.css/', $this->client->getResponse()->getContent());
107
        $this->assertRegExp('/\/css\/ie\/v8\.css/', $this->client->getResponse()->getContent());
108
        $this->assertRegExp('/\/css\/ie\/html5shiv\.js/', $this->client->getResponse()->getContent());
109
        $this->assertRegExp('/var\ cdn\ \=\ \'\'\;/', $this->client->getResponse()->getContent());
110
        $this->assertNotRegExp('/\/\/cdn\.site\.com\/css\/style\.css/', $this->client->getResponse()->getContent());
111
        $this->assertNotRegExp('/\/\/cdn\.site\.com\/css\/style\-desktop\.css/', $this->client->getResponse()->getContent());
112
        $this->assertNotRegExp('/\/\/cdn\.site\.com\/css\/ie\/v8\.css/', $this->client->getResponse()->getContent());
113
        $this->assertNotRegExp('/\/\/cdn\.site\.com\/css\/ie\/html5shiv\.js/', $this->client->getResponse()->getContent());
114
        $this->assertNotRegExp('/var\ cdn\ \=\ \'\/\/cdn.site.com\'\;/', $this->client->getResponse()->getContent());
115
    }
116
}