PhpUserAgentParserTest::setUp()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 10
rs 9.9332
c 0
b 0
f 0
cc 2
nc 2
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Dziki\MonologSentryBundle\Tests\Unit\UserAgent;
6
7
use Dziki\MonologSentryBundle\UserAgent\PhpUserAgentParser;
8
use Dziki\MonologSentryBundle\UserAgent\UserAgent;
9
10
/**
11
 * @covers \Dziki\MonologSentryBundle\UserAgent\PhpUserAgentParser
12
 *
13
 * @uses \Dziki\MonologSentryBundle\UserAgent\UserAgent
14
 */
15
class PhpUserAgentParserTest extends AbstractParserTest
16
{
17
    public function validUserAgentsDataProvider(): array
18
    {
19
        return parent::validUserAgentsDataProvider() +
20
            [
21
                [
22
                    'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0',
23
                    UserAgent::create('Firefox', '47.0', 'Windows'),
24
                ],
25
                [
26
                    'Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0',
27
                    UserAgent::create('Firefox', '42.0', 'Macintosh'),
28
                ],
29
                [
30
                    'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
31
                    UserAgent::create('Safari', '11.0', 'iPhone'),
32
                ],
33
                [
34
                    'Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36',
35
                    UserAgent::create('Chrome', '60.0.3112.107', 'Android'),
36
                ],
37
                [
38
                    'Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36',
39
                    UserAgent::create('Chrome', '60.0.3112.107', 'Android'),
40
                ],
41
                [
42
                    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246',
43
                    UserAgent::create('Edge', '12.246', 'Windows'),
44
                ],
45
            ];
46
    }
47
48
    public function setUp(): void
49
    {
50
        if (!function_exists('parse_user_agent')) {
51
            $this->markTestSkipped(
52
                'Library "donatj/phpuseragentparser" not installed, skipped.'
53
            );
54
        }
55
56
        $this->setParser(new PhpUserAgentParser());
57
    }
58
}
59