Completed
Push — master ( cace1c...4cd08d )
by Jan-Petter
02:34
created

MultiTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 83
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
c 1
b 0
f 0
lcom 0
cbo 2
dl 0
loc 83
rs 10
1
<?php
2
namespace vipnytt\XRobotsTagParser\Tests;
3
4
use vipnytt\XRobotsTagParser;
5
6
class MultiTest extends \PHPUnit_Framework_TestCase
7
{
8
    /**
9
     * Multi directives test
10
     *
11
     * @dataProvider generateDataForTest
12
     * @param string $url
13
     * @param string $bot
14
     * @param array $options
15
     */
16
    public function testMultipleDirectives($url, $bot, $options)
17
    {
18
        $parser = new XRobotsTagParser($url, $bot, $options);
19
        $this->assertInstanceOf('vipnytt\XRobotsTagParser', $parser);
20
21
        $this->assertTrue($parser->getRules(true)['all']);
22
        $this->assertTrue($parser->export()['']['all']);
23
        $this->assertTrue($parser->export()['googlebot']['all']);
24
25
        $this->assertTrue($parser->getRules(true)['noindex']);
26
        $this->assertTrue($parser->export()['']['noindex']);
27
        $this->assertTrue($parser->export()['googlebot']['noindex']);
28
29
        $this->assertTrue($parser->getRules(true)['nofollow']);
30
        $this->assertTrue($parser->export()['']['nofollow']);
31
        $this->assertTrue($parser->export()['googlebot']['nofollow']);
32
33
        $this->assertTrue($parser->getRules(true)['none']);
34
        $this->assertTrue($parser->export()['']['none']);
35
        $this->assertTrue($parser->export()['googlebot']['none']);
36
37
        $this->assertTrue($parser->getRules(true)['noarchive']);
38
        $this->assertTrue($parser->export()['']['noarchive']);
39
        $this->assertTrue($parser->export()['googlebot']['noarchive']);
40
41
        $this->assertTrue($parser->getRules(true)['nosnippet']);
42
        $this->assertTrue($parser->export()['']['nosnippet']);
43
        $this->assertTrue($parser->export()['googlebot']['nosnippet']);
44
45
        $this->assertTrue($parser->getRules(true)['noodp']);
46
        $this->assertTrue($parser->export()['']['noodp']);
47
        $this->assertTrue($parser->export()['googlebot']['noodp']);
48
49
        $this->assertTrue($parser->getRules(true)['notranslate']);
50
        $this->assertTrue($parser->export()['']['notranslate']);
51
        $this->assertTrue($parser->export()['googlebot']['notranslate']);
52
53
        $this->assertTrue($parser->getRules(true)['noimageindex']);
54
        $this->assertTrue($parser->export()['']['noimageindex']);
55
        $this->assertTrue($parser->export()['googlebot']['noimageindex']);
56
    }
57
58
    /**
59
     * Generate test data
60
     * @return array
61
     */
62
    public function generateDataForTest()
63
    {
64
        return [
65
            [
66
                'http://example.com/',
67
                'googlebot',
68
                ['headers' =>
69
                    [
70
                        'HTTP/1.1 200 OK',
71
                        'Date: Tue, 25 May 2010 21:42:43 GMT',
72
                        'X-Robots-Tag: all',
73
                        'X-Robots-Tag: noindex',
74
                        'X-Robots-Tag: nofollow',
75
                        'X-Robots-Tag: none',
76
                        'X-Robots-Tag: noarchive',
77
                        'X-Robots-Tag: nosnippet',
78
                        'X-Robots-Tag: noodp',
79
                        'X-Robots-Tag: notranslate',
80
                        'X-Robots-Tag: noimageindex',
81
                        'X-Robots-Tag: unavailable_after: Friday, 25 Jun 2010 15:00:00 PST',
82
                        'X-Robots-Tag: googlebot: all, none, nofollow,nosnippet,notranslate, unavailable_after: Friday, 25 Jun 2010 15:00:00 PST, noindex, noarchive, noodp,noimageindex'
83
                    ]
84
                ]
85
            ]
86
        ];
87
    }
88
}
89