55class AgentTest extends PHPUnit_Framework_TestCase {
66
77 private $ operatingSystems = array (
8- 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko ' => 'Windows ' ,
9- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2 ' => 'OS X ' ,
10- 'Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko ) Version/5.1 Mobile/9B176 Safari/7534.48.3 ' => 'iOS ' ,
11- 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0 ' => 'Ubuntu ' ,
12- 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+ ' => 'BlackBerryOS ' ,
8+ 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko ' => 'Windows ' ,
9+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2 ' => 'OS X ' ,
10+ 'Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko ) Version/5.1 Mobile/9B176 Safari/7534.48.3 ' => 'iOS ' ,
11+ 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0 ' => 'Ubuntu ' ,
12+ 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+ ' => 'BlackBerryOS ' ,
1313 'Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 ' => 'AndroidOS ' ,
1414 );
1515
1616 private $ browsers = array (
17- 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko ' => 'IE ' ,
17+ 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko ' => 'IE ' ,
1818 'Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25 ' => 'Safari ' ,
19- 'Mozilla/5.0 (Windows; U; Win 9x 4.90; SG; rv:1.9.2.4) Gecko/20101104 Netscape/9.1.0285 ' => 'Netscape ' ,
20- 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0 ' => 'Firefox ' ,
21- 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36 ' => 'Chrome ' ,
22- 'Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201 ' => 'Mozilla ' ,
23- 'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14 ' => 'Opera ' ,
19+ 'Mozilla/5.0 (Windows; U; Win 9x 4.90; SG; rv:1.9.2.4) Gecko/20101104 Netscape/9.1.0285 ' => 'Netscape ' ,
20+ 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0 ' => 'Firefox ' ,
21+ 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36 ' => 'Chrome ' ,
22+ 'Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201 ' => 'Mozilla ' ,
23+ 'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14 ' => 'Opera ' ,
2424 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36 OPR/27.0.1689.76 ' => 'Opera ' ,
2525 );
2626
2727 private $ robots = array (
28- 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) ' => 'Google ' ,
28+ 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) ' => 'Google ' ,
2929 'facebookexternalhit/1.1 (+http(s)://www.facebook.com/externalhit_uatext.php) ' => 'Facebook ' ,
30- 'Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) ' => 'Bing ' ,
30+ 'Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) ' => 'Bing ' ,
3131 );
3232
3333 private $ devices = array (
3434 'Mozilla/5.0 (iPhone; U; ru; CPU iPhone OS 4_2_1 like Mac OS X; ru) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148a Safari/6533.18.5 ' => 'iPhone ' ,
35- 'Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25 ' => 'iPad ' ,
36- 'Mozilla/5.0 (Linux; U; Android 2.3.4; fr-fr; HTC Desire Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 ' => 'HTC ' ,
37- 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+ ' => 'BlackBerry ' ,
38- 'Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 ' => 'Nexus ' ,
39- 'Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; ASUS Transformer Pad TF300T Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30 ' => 'AsusTablet ' ,
35+ 'Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25 ' => 'iPad ' ,
36+ 'Mozilla/5.0 (Linux; U; Android 2.3.4; fr-fr; HTC Desire Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 ' => 'HTC ' ,
37+ 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+ ' => 'BlackBerry ' ,
38+ 'Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 ' => 'Nexus ' ,
39+ 'Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; ASUS Transformer Pad TF300T Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30 ' => 'AsusTablet ' ,
4040 );
4141
4242 private $ browserVersions = array (
4343 'Mozilla/5.0 (compatible; MSIE 10.6; Windows NT 6.1; Trident/5.0; InfoPath.2; SLCC1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727) 3gpp-gba UNTRUSTED/1.0 ' => '10.6 ' ,
44- 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko ' => '11.0 ' ,
45- 'Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25 ' => '6.0 ' ,
46- 'Mozilla/5.0 (Windows; U; Win 9x 4.90; SG; rv:1.9.2.4) Gecko/20101104 Netscape/9.1.0285 ' => '9.1.0285 ' ,
47- 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0 ' => '25.0 ' ,
48- 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36 ' => '32.0.1667.0 ' ,
49- 'Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201 ' => '2.2 ' ,
50- 'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14 ' => '12.14 ' ,
51- 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; de) Opera 11.51 ' => '11.51 ' ,
44+ 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko ' => '11.0 ' ,
45+ 'Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25 ' => '6.0 ' ,
46+ 'Mozilla/5.0 (Windows; U; Win 9x 4.90; SG; rv:1.9.2.4) Gecko/20101104 Netscape/9.1.0285 ' => '9.1.0285 ' ,
47+ 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0 ' => '25.0 ' ,
48+ 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36 ' => '32.0.1667.0 ' ,
49+ 'Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201 ' => '2.2 ' ,
50+ 'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14 ' => '12.14 ' ,
51+ 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; de) Opera 11.51 ' => '11.51 ' ,
5252 );
5353
5454 private $ operatingSystemVersions = array (
55- 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko ' => '6.3 ' ,
56- 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2 ' => '10_6_8 ' ,
57- 'Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko ) Version/5.1 Mobile/9B176 Safari/7534.48.3 ' => '5_1 ' ,
58- 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+ ' => '7.1.0.346 ' ,
55+ 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko ' => '6.3 ' ,
56+ 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2 ' => '10_6_8 ' ,
57+ 'Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko ) Version/5.1 Mobile/9B176 Safari/7534.48.3 ' => '5_1 ' ,
58+ 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9900; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.346 Mobile Safari/534.11+ ' => '7.1.0.346 ' ,
5959 'Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 ' => '2.2 ' ,
6060 );
6161
@@ -74,7 +74,7 @@ public function testLanguages()
7474 {
7575 $ agent = new Agent ;
7676 $ agent ->setHttpHeaders (array (
77- 'HTTP_ACCEPT_LANGUAGE ' => 'nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4 '
77+ 'HTTP_ACCEPT_LANGUAGE ' => 'nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4 ' ,
7878 ));
7979
8080 $ this ->assertEquals (array ('nl-nl ' , 'nl ' , 'en-us ' , 'en ' ), $ agent ->languages ());
0 commit comments