Welcome to mirror list, hosted at ThFree Co, Russian Federation.

UserAgentParserEnhancedTest.php « Plugins « PHPUnit « tests - github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: af55c8579694b0fe4a95f6e0c9942cf75ba46ff6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php

require_once 'DevicesDetection/UserAgentParserEnhanced/UserAgentParserEnhanced.php';

class UserAgentParserEnhancedTest extends PHPUnit_Framework_TestCase
{
    /**
     * @group Plugins
     * @dataProvider getUserAgents_asParsed
     */
    public function testParse($expected)
    {
        $ua = $expected['user_agent'];

        $userAgentParserEnhanced = new UserAgentParserEnhanced($ua);
        $userAgentParserEnhanced->parse();

        $processed =  array(
            'user_agent' => $userAgentParserEnhanced->getUserAgent(),
            'os' => array(
                'name' => $userAgentParserEnhanced->getOs('name'),
                'short_name' => $userAgentParserEnhanced->getOs('short_name'),
                'version' => $userAgentParserEnhanced->getOs('version'),
            ),
            'browser' => array(
                'name' => $userAgentParserEnhanced->getBrowser('name'),
                'short_name' => $userAgentParserEnhanced->getBrowser('short_name'),
                'version' => $userAgentParserEnhanced->getBrowser('version'),
            ),
            'device' => $userAgentParserEnhanced->getDevice(),
            'brand' => $userAgentParserEnhanced->getBrand(),
            'model' => $userAgentParserEnhanced->getModel(),
            'os_family' => $userAgentParserEnhanced->getOsFamily($userAgentParserEnhanced->getOs('name')),
            'browser_family' => $userAgentParserEnhanced->getBrowserFamily($userAgentParserEnhanced->getBrowser('name')),
        );

        $this->assertEquals($expected, $processed);
    }

    public function getUserAgents_asParsed()
    {
        $expected = array();

        $fixtures = Spyc::YAMLLoad(dirname(__FILE__) . '/../Fixtures/userAgentParserEnhancedFixtures.yml');
        foreach ($fixtures as $fixtureData) {
            $expected[] = array($fixtureData);
        }

        return $expected;
    }
}