github-counter/vendor/donatj/phpuseragentparser/tests/UserAgentParserObjectTest.php

46 lines
1.2 KiB
PHP

<?php
use donatj\UserAgent\UserAgentParser;
class UserAgentParserObjectTest extends \PHPUnit_Framework_TestCase {
public function userAgentDataProvider() {
$out = array();
$uas = json_decode(file_get_contents(__DIR__ . '/user_agents.json'), true);
foreach( $uas as $string => $parts ) {
$out[] = array( $string );
}
return $out;
}
/**
* @dataProvider userAgentDataProvider
*/
public function test_parse( $string ) {
$parser = new UserAgentParser;
$result = $parser->parse($string);
$expected = parse_user_agent($string);
$this->assertSame($expected[\donatj\UserAgent\PLATFORM], $result->platform());
$this->assertSame($expected[\donatj\UserAgent\BROWSER], $result->browser());
$this->assertSame($expected[\donatj\UserAgent\BROWSER_VERSION], $result->browserVersion());
}
/**
* @dataProvider userAgentDataProvider
*/
public function test_invoke( $string ) {
$parser = new UserAgentParser;
$result = $parser($string);
$expected = parse_user_agent($string);
$this->assertSame($expected[\donatj\UserAgent\PLATFORM], $result->platform());
$this->assertSame($expected[\donatj\UserAgent\BROWSER], $result->browser());
$this->assertSame($expected[\donatj\UserAgent\BROWSER_VERSION], $result->browserVersion());
}
}