46 lines
1.2 KiB
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());
|
|
}
|
|
|
|
}
|