PageRenderTime 56ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 3ms

/tests/Zend/Http/UserAgent/AbstractDeviceTest.php

https://bitbucket.org/dbaltas/zend-framework-1.x-on-git
PHP | 9268 lines | 9175 code | 60 blank | 33 comment | 0 complexity | 96bcdd31b3293142934cf1225688b52c MD5 | raw file
Possible License(s): BSD-3-Clause, LGPL-2.0, MIT

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. /**
  3. * Zend Framework
  4. *
  5. * LICENSE
  6. *
  7. * This source file is subject to the new BSD license that is bundled
  8. * with this package in the file LICENSE.txt.
  9. * It is also available through the world-wide-web at this URL:
  10. * http://framework.zend.com/license/new-bsd
  11. * If you did not receive a copy of the license and are unable to
  12. * obtain it through the world-wide-web, please send an email
  13. * to license@zend.com so we can send you a copy immediately.
  14. *
  15. * @category Zend
  16. * @package Zend_Http_UserAgent
  17. * @subpackage UnitTests
  18. * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
  19. * @license http://framework.zend.com/license/new-bsd New BSD License
  20. */
  21. /**
  22. * Zend_Http_UserAgent
  23. */
  24. require_once 'Zend/Http/UserAgent.php';
  25. require_once 'Zend/Http/UserAgent/AbstractDevice.php';
  26. require_once 'Zend/Http/UserAgent/Bot.php';
  27. require_once 'Zend/Http/UserAgent/Checker.php';
  28. require_once 'Zend/Http/UserAgent/Console.php';
  29. require_once 'Zend/Http/UserAgent/Desktop.php';
  30. require_once 'Zend/Http/UserAgent/Email.php';
  31. require_once 'Zend/Http/UserAgent/Feed.php';
  32. require_once 'Zend/Http/UserAgent/Mobile.php';
  33. require_once 'Zend/Http/UserAgent/Offline.php';
  34. require_once 'Zend/Http/UserAgent/Probe.php';
  35. require_once 'Zend/Http/UserAgent/Spam.php';
  36. require_once 'Zend/Http/UserAgent/Text.php';
  37. require_once 'Zend/Http/UserAgent/Validator.php';
  38. /**
  39. * @category Zend
  40. * @package Zend_Http_UserAgent
  41. * @subpackage UnitTests
  42. * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
  43. * @license http://framework.zend.com/license/new-bsd New BSD License
  44. */
  45. class Zend_Http_UserAgent_AbstractDeviceTest extends PHPUnit_Framework_TestCase
  46. {
  47. public function testUserAgentSafari()
  48. {
  49. $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/533.17.8 (KHTML, like Gecko) Version/5.0.1 Safari/533.17.8';
  50. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  51. $this->assertEquals('AppleWebKit', $extract['browser_engine']);
  52. $this->assertEquals('Safari', $extract['browser_name']);
  53. $this->assertEquals('5.0.1', $extract['browser_version']);
  54. $this->assertEquals('Windows Server 2003', $extract['device_os_name']);
  55. $userAgent = 'Mozilla/5.0 (iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10gin_lib.cc';
  56. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  57. $this->assertEquals('AppleWebKit', $extract['browser_engine']);
  58. $this->assertEquals('Safari Mobile', $extract['browser_name']);
  59. $this->assertEquals('4.0.4', $extract['browser_version']);
  60. $this->assertEquals('iPhone OS', $extract['device_os_token']);
  61. $userAgent = 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; hu-hu) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10';
  62. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  63. $this->assertEquals('AppleWebKit', $extract['browser_engine']);
  64. $this->assertEquals('Safari', $extract['browser_name']);
  65. $this->assertEquals('4.0.4', $extract['browser_version']);
  66. $this->assertEquals('PPC Mac OS X 10_4_11', $extract['device_os_token']);
  67. $userAgent = 'Mozilla/5.0 (iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314';
  68. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  69. $this->assertEquals('AppleWebKit', $extract['browser_engine']);
  70. $this->assertEquals('Safari Mobile', $extract['browser_name']);
  71. $this->assertEquals('4.0.4', $extract['browser_version']);
  72. $this->assertEquals('iPhone OS', $extract['device_os_token']);
  73. $userAgent = 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; pt-pt) AppleWebKit/418.9.1 (KHTML, like Gecko) Safari/419.3';
  74. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  75. $this->assertEquals('AppleWebKit', $extract['browser_engine']);
  76. $this->assertEquals('Safari', $extract['browser_name']);
  77. $this->assertEquals('2.0', $extract['browser_version']);
  78. $this->assertEquals('PPC Mac OS X', $extract['device_os_token']);
  79. $userAgent = 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; fr-ch) AppleWebKit/312.1.1 (KHTML, like Gecko) Safari/312';
  80. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  81. $this->assertEquals('Safari', $extract['browser_name']);
  82. $this->assertEquals('1.3', $extract['browser_version']);
  83. $userAgent = 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; fr) AppleWebKit/312.5.2 (KHTML, like Gecko) Safari/312.3.3';
  84. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  85. $this->assertEquals('Safari', $extract['browser_name']);
  86. $this->assertEquals('1.3', $extract['browser_version']);
  87. $userAgent = 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; fr-fr) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5';
  88. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  89. $this->assertEquals('Safari', $extract['browser_name']);
  90. $this->assertEquals('1.0', $extract['browser_version']);
  91. $userAgent = 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-gb) AppleWebKit/85.8.5 (KHTML, like Gecko) Safari/85.8.1';
  92. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  93. $this->assertEquals('Safari', $extract['browser_name']);
  94. $this->assertEquals('1.0', $extract['browser_version']);
  95. $userAgent = 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/124 (KHTML, like Gecko) Safari/125';
  96. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  97. $this->assertEquals('Safari', $extract['browser_name']);
  98. $this->assertEquals('1.2', $extract['browser_version']);
  99. $userAgent = 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/418.9 (KHTML, like Gecko) Safari/419.3';
  100. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  101. $this->assertEquals('Safari', $extract['browser_name']);
  102. $this->assertEquals('2.0', $extract['browser_version']);
  103. $userAgent = 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/412.6.2 (KHTML, like Gecko) Safari/412.2.2';
  104. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  105. $this->assertEquals('Safari', $extract['browser_name']);
  106. $this->assertEquals('2.0', $extract['browser_version']);
  107. }
  108. public function testUserAgentInternetExplorer()
  109. {
  110. $userAgent = 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)';
  111. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  112. $this->assertEquals('MSIE', $extract['browser_engine']);
  113. $this->assertEquals('Internet Explorer', $extract['browser_name']);
  114. $this->assertEquals('9.0', $extract['browser_version']);
  115. $this->assertEquals('Windows 7', $extract['device_os_name']);
  116. $userAgent = 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; FDM; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; .NET CLR 1.1.4322)';
  117. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  118. $this->assertEquals('MSIE', $extract['browser_engine']);
  119. $this->assertEquals('Internet Explorer', $extract['browser_name']);
  120. $this->assertEquals('8.0', $extract['browser_version']);
  121. $this->assertEquals('Windows 7', $extract['device_os_name']);
  122. $userAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)';
  123. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  124. $this->assertEquals('MSIE', $extract['browser_engine']);
  125. $this->assertEquals('Internet Explorer', $extract['browser_name']);
  126. $this->assertEquals('7.0', $extract['browser_version']);
  127. $this->assertEquals('Windows 7', $extract['device_os_name']);
  128. $userAgent = 'Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)';
  129. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  130. $this->assertEquals('MSIE', $extract['browser_engine']);
  131. $this->assertEquals('Internet Explorer', $extract['browser_name']);
  132. $this->assertEquals('7.0', $extract['browser_version']);
  133. $this->assertEquals('Windows Vista', $extract['device_os_name']);
  134. $userAgent = 'Mozilla/4.0 (Windows; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)';
  135. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  136. $this->assertEquals('MSIE', $extract['browser_engine']);
  137. $this->assertEquals('Internet Explorer', $extract['browser_name']);
  138. $this->assertEquals('7.0', $extract['browser_version']);
  139. $this->assertEquals('Windows XP', $extract['device_os_name']);
  140. $userAgent = 'Mozilla/45.0 (compatible; MSIE 6.0; Windows NT 5.1)';
  141. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  142. $this->assertEquals('MSIE', $extract['browser_engine']);
  143. $this->assertEquals('Internet Explorer', $extract['browser_name']);
  144. $this->assertEquals('6.0', $extract['browser_version']);
  145. $this->assertEquals('Windows XP', $extract['device_os_name']);
  146. $userAgent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.2; .NET CLR 1.1.4322)';
  147. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  148. $this->assertEquals('MSIE', $extract['browser_engine']);
  149. $this->assertEquals('Internet Explorer', $extract['browser_name']);
  150. $this->assertEquals('5.5', $extract['browser_version']);
  151. $this->assertEquals('Windows Server 2003', $extract['device_os_name']);
  152. $userAgent = 'Mozilla/4.0 (compatible; MSIE 5.12; Mac_PowerPC)';
  153. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  154. $this->assertEquals('MSIE', $extract['browser_engine']);
  155. $this->assertEquals('Internet Explorer', $extract['browser_name']);
  156. $this->assertEquals('5.12', $extract['browser_version']);
  157. $this->assertEquals('Mac_PowerPC', $extract['device_os_token']);
  158. $userAgent = 'Mozilla/4.0 (compatible; MSIE 4.5; Windows 98; )';
  159. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  160. $this->assertEquals('MSIE', $extract['browser_engine']);
  161. $this->assertEquals('Internet Explorer', $extract['browser_name']);
  162. $this->assertEquals('4.5', $extract['browser_version']);
  163. $this->assertEquals('Windows 98', $extract['device_os_name']);
  164. }
  165. public function testUserAgentFirefox()
  166. {
  167. $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)';
  168. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  169. $this->assertEquals('Firefox', $extract['browser_name']);
  170. $this->assertEquals('4.0', $extract['browser_version']);
  171. $this->assertEquals('Windows 7', $extract['device_os_name']);
  172. $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; nb-NO; rv:1.9.2.4) Gecko/20100611 Firefox/3.6.4 (.NET CLR 3.5.30729)';
  173. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  174. $this->assertEquals('Firefox', $extract['browser_name']);
  175. $this->assertEquals('3.6.4', $extract['browser_version']);
  176. $this->assertEquals('Windows XP', $extract['device_os_name']);
  177. $userAgent = 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.6) Gecko/2009020518 Ubuntu/9.04 (jaunty) Firefox/3.0.6';
  178. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  179. $this->assertEquals('Firefox', $extract['browser_name']);
  180. $this->assertEquals('3.0.6', $extract['browser_version']);
  181. $this->assertEquals('Linux i686', $extract['device_os_token']);
  182. $userAgent = 'Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9';
  183. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  184. $this->assertEquals('Firefox', $extract['browser_name']);
  185. $this->assertEquals('2.0.0.9', $extract['browser_version']);
  186. $this->assertEquals('Linux i686 (x86_64)', $extract['device_os_token']);
  187. $userAgent = 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.8) Gecko/20071019 Fedora/2.0.0.8-1.fc7 Firefox/2.0.0.8';
  188. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  189. $this->assertEquals('Firefox', $extract['browser_name']);
  190. $this->assertEquals('2.0.0.8', $extract['browser_version']);
  191. $this->assertEquals('Linux i686', $extract['device_os_token']);
  192. $userAgent = 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1) Gecko/20060313 Debian/1.5.dfsg+1.5.0.1-4 Firefox/1.5.0.1';
  193. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  194. $this->assertEquals('Firefox', $extract['browser_name']);
  195. $this->assertEquals('1.5.0.1', $extract['browser_version']);
  196. $this->assertEquals('Linux i686', $extract['device_os_token']);
  197. }
  198. public function testUserAgentMozilla()
  199. {
  200. $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; it; rv:2.0b4) Gecko/20100818';
  201. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  202. $this->assertEquals('Mozilla', $extract['browser_name']);
  203. $this->assertEquals('2.0b4', $extract['browser_version']);
  204. $userAgent = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en; rv:1.8.1.4pre) Gecko/20070521 Camino/1.6a1pre';
  205. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  206. $this->assertEquals('Camino', $extract['browser_name']);
  207. $this->assertEquals('1.6a1pre', $extract['browser_version']);
  208. $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.0.7) Gecko/2009021910 MEGAUPLOAD 1.0';
  209. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  210. $this->assertEquals('Mozilla', $extract['browser_name']);
  211. $this->assertEquals('1.9.0.7', $extract['browser_version']);
  212. $userAgent = 'Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.6) Gecko/2009020911';
  213. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  214. $this->assertEquals('Mozilla', $extract['browser_name']);
  215. $this->assertEquals('1.9.0.6', $extract['browser_version']);
  216. $userAgent = 'Mozilla/5.001 (X11; U; Linux i686; rv:1.8.1.6; de-ch) Gecko/25250101 (ubuntu-feisty)';
  217. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  218. $this->assertEquals('Mozilla', $extract['browser_name']);
  219. $this->assertEquals('1.8.1.6', $extract['browser_version']);
  220. $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.18) Gecko/20081029';
  221. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  222. $this->assertEquals('Mozilla', $extract['browser_name']);
  223. $this->assertEquals('1.8.1.18', $extract['browser_version']);
  224. $userAgent = 'Mozilla/5.0 (X11; U; Linux i586; de-AT; rv:1.4) Gecko/20030908 Debian/1.4-4';
  225. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  226. $this->assertEquals('Mozilla', $extract['browser_name']);
  227. $this->assertEquals('1.4', $extract['browser_version']);
  228. }
  229. public function testUserAgentChrome()
  230. {
  231. $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/534.4 (KHTML, like Gecko) Chrome/6.0.481.0 Safari/534.4';
  232. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  233. $this->assertEquals('AppleWebKit', $extract['browser_engine']);
  234. $this->assertEquals('Chrome', $extract['browser_name']);
  235. $this->assertEquals('6.0.481.0', $extract['browser_version']);
  236. $this->assertEquals('Windows Server 2003', $extract['device_os_name']);
  237. $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.514.0 Safari/534.7';
  238. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  239. $this->assertEquals('AppleWebKit', $extract['browser_engine']);
  240. $this->assertEquals('Chrome', $extract['browser_name']);
  241. $this->assertEquals('7.0.514.0', $extract['browser_version']);
  242. $this->assertEquals('Windows XP', $extract['device_os_name']);
  243. $userAgent = 'Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.1 (KHTML, like Gecko) Chrome/6.0.416.0 Safari/534.1';
  244. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  245. $this->assertEquals('AppleWebKit', $extract['browser_engine']);
  246. $this->assertEquals('Chrome', $extract['browser_name']);
  247. $this->assertEquals('6.0.416.0', $extract['browser_version']);
  248. $this->assertEquals('Linux i686', $extract['device_os_token']);
  249. }
  250. public function testUserAgentNetscape()
  251. {
  252. $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9pre) Gecko/20071102 Firefox/2.0.0.9 Navigator/9.0.0.3';
  253. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  254. $this->assertEquals('Gecko', $extract['browser_engine']);
  255. $this->assertEquals('Netscape', $extract['browser_name']);
  256. $this->assertEquals('9.0.0.3', $extract['browser_version']);
  257. $this->assertEquals('Windows XP', $extract['device_os_name']);
  258. $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.2) Gecko/20050208 Netscape/7.20';
  259. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  260. $this->assertEquals('Gecko', $extract['browser_engine']);
  261. $this->assertEquals('Netscape', $extract['browser_name']);
  262. $this->assertEquals('7.20', $extract['browser_version']);
  263. $this->assertEquals('Windows 2000', $extract['device_os_name']);
  264. $userAgent = 'Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:0.9.4) Gecko/20011128 Netscape6/6.2.1';
  265. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  266. $this->assertEquals('Gecko', $extract['browser_engine']);
  267. $this->assertEquals('Netscape', $extract['browser_name']);
  268. $this->assertEquals('6.2.1', $extract['browser_version']);
  269. $this->assertEquals('Windows 2000', $extract['device_os_name']);
  270. $userAgent = 'Mozilla/4.79 [en] (X11; U; SunOS 5.7 sun4u)';
  271. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  272. $this->assertEquals('Netscape', $extract['browser_name']);
  273. $this->assertEquals('4.79', $extract['browser_version']);
  274. $this->assertEquals('SunOS 5.7 sun4u', $extract['device_os_token']);
  275. $userAgent = 'Mozilla/4.04 [fr] (Macintosh; I; PPC, Nav)';
  276. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  277. $this->assertEquals('Netscape', $extract['browser_name']);
  278. $this->assertEquals('4.04', $extract['browser_version']);
  279. $this->assertEquals('Macintosh', $extract['compatibility_flag']);
  280. }
  281. public function testUserAgentOpera()
  282. {
  283. $userAgent = 'Opera/9.99 (Windows NT 5.1; U; pl) Presto/9.9.9';
  284. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  285. $this->assertEquals('Presto', $extract['browser_engine']);
  286. $this->assertEquals('Opera', $extract['browser_name']);
  287. $this->assertEquals('9.99', $extract['browser_version']);
  288. $userAgent = 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/886; U; en) Presto/2.4.15';
  289. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  290. $this->assertEquals('Presto', $extract['browser_engine']);
  291. $this->assertEquals('opera mini', strtolower($extract['browser_name']));
  292. $userAgent = 'Opera/9.70 (Linux ppc64 ; U; en) Presto/2.2.1';
  293. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  294. $this->assertEquals('Presto', $extract['browser_engine']);
  295. $this->assertEquals('Opera', $extract['browser_name']);
  296. $this->assertEquals('9.70', $extract['browser_version']);
  297. $userAgent = 'Mozilla/5.0 (Windows NT 5.1; U; en-GB; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.61';
  298. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  299. $this->assertEquals('Gecko', $extract['browser_engine']);
  300. $this->assertEquals('Opera', $extract['browser_name']);
  301. $this->assertEquals('9.61', $extract['browser_version']);
  302. $userAgent = 'Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux x86_64; en) Opera 9.60';
  303. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  304. $this->assertEquals('MSIE', $extract['browser_engine']);
  305. $this->assertEquals('Opera', $extract['browser_name']);
  306. $this->assertEquals('9.60', $extract['browser_version']);
  307. $userAgent = 'Opera/9.52 (Windows NT 6.0; U; Opera/9.52 (X11; Linux x86_64; U); en)';
  308. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  309. $this->assertEquals('Opera', $extract['browser_name']);
  310. $this->assertEquals('9.52', $extract['browser_version']);
  311. $userAgent = 'Opera/9.20 (Windows NT 6.0; U; de)';
  312. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  313. $this->assertEquals('Opera', $extract['browser_name']);
  314. $this->assertEquals('9.20', $extract['browser_version']);
  315. $userAgent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.54';
  316. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  317. $this->assertEquals('MSIE', $extract['browser_engine']);
  318. $this->assertEquals('Opera', $extract['browser_name']);
  319. $this->assertEquals('8.54', $extract['browser_version']);
  320. $userAgent = 'Opera/9.80 (Windows NT 5.1; U; zh-cn) Presto/2.2.15 Version/10.00';
  321. $extract = Zend_Http_UserAgent_Desktop::extractFromUserAgent($userAgent);
  322. $this->assertEquals('Presto', $extract['browser_engine']);
  323. $this->assertEquals('Opera', $extract['browser_name']);
  324. $this->assertEquals('10.00', $extract['browser_version']);
  325. }
  326. public function testMatchMobileOtherHeaders()
  327. {
  328. $userAgent = 'xxxxx';
  329. $server = array(
  330. 'all_http' => '. opera Mini'
  331. );
  332. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, $server));
  333. $server = array(
  334. 'http_x_wap_profile' => 'http://device.sprintpcs.com/Sanyo/PL3100/1003QW.rdf'
  335. );
  336. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, $server));
  337. $server = array(
  338. 'http_profile' => ''
  339. );
  340. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, $server));
  341. $server = array(
  342. 'http_accept' => 'midp'
  343. );
  344. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, $server));
  345. $server = array(
  346. 'http_accept' => 'text/html, image/vnd.wap.wbmp, image/png, image/jpeg,
  347. image/gif, image/bmp, application/vnd.wap.wmlc,
  348. application/vnd.wap.xhtml+xml, application/xhtml+xml,
  349. application/vnd.wap.multipart.mixed, multipart/mixed,
  350. text/vnd.wap.wml, application/vnd.oma.dd+xml,
  351. text/vnd.sun.j2me.app-descriptor, application/java-archive,
  352. *,text/x-hdml,image/mng,image/x-mng,video/mng,video/x-mng,image/bmp,text/html'
  353. );
  354. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, $server));
  355. $server = array(
  356. 'http_accept' => 'vnd.rim'
  357. );
  358. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, $server));
  359. $server = array(
  360. 'http_accept' => 'application/xhtml+xml, application/vnd.wap.xhtml+xml,
  361. application/x-pmd, application/vnd.phonecom.mmc-xml, audio/midi,
  362. audio/vnd.qcelp, application/xhtml+xml'
  363. );
  364. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, $server));
  365. }
  366. /**
  367. * examples from http://en.wikipedia.org/wiki/List_of_user_agents_for_mobile_phones
  368. */
  369. public function testMatchMobile()
  370. {
  371. $userAgent = 'Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleW1ebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A102 Safari/419.3';
  372. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  373. 'HTTP_USER_AGENT' => $userAgent
  374. )));
  375. $userAgent = 'HTC-8500/1.2 Mozilla/4.0 (compatible; MSIE 5.5; Windows CE; PPC; 240x320) ';
  376. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  377. 'HTTP_USER_AGENT' => $userAgent
  378. )));
  379. $userAgent = 'HTC-8500/1.2 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6) UP.Link/6.3.1.17.0 ';
  380. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  381. 'HTTP_USER_AGENT' => $userAgent
  382. )));
  383. $userAgent = 'Alcatel-OT-708/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 ObigoInternetBrowser/Q03C ';
  384. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  385. 'HTTP_USER_AGENT' => $userAgent
  386. )));
  387. $userAgent = 'Mozilla/5.0 (Linux; U; Android 1.5; de-; sdk Build/CUPCAKE) AppleWebkit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1 ';
  388. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  389. 'HTTP_USER_AGENT' => $userAgent
  390. )));
  391. $userAgent = 'Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10 ';
  392. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  393. 'HTTP_USER_AGENT' => $userAgent
  394. )));
  395. $userAgent = 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7 ';
  396. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  397. 'HTTP_USER_AGENT' => $userAgent
  398. )));
  399. $userAgent = 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/1A542a Safari/419.3 ';
  400. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  401. 'HTTP_USER_AGENT' => $userAgent
  402. )));
  403. $userAgent = 'BlackBerry7100i/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/103 ';
  404. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  405. 'HTTP_USER_AGENT' => $userAgent
  406. )));
  407. $userAgent = 'BlackBerry7130e/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/104 ';
  408. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  409. 'HTTP_USER_AGENT' => $userAgent
  410. )));
  411. $userAgent = 'BlackBerry7230/3.7.0 ';
  412. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  413. 'HTTP_USER_AGENT' => $userAgent
  414. )));
  415. $userAgent = 'BlackBerry7250/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 ';
  416. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  417. 'HTTP_USER_AGENT' => $userAgent
  418. )));
  419. $userAgent = 'BlackBerry7520/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 ';
  420. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  421. 'HTTP_USER_AGENT' => $userAgent
  422. )));
  423. $userAgent = 'BlackBerry7730/3.7.0 ';
  424. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  425. 'HTTP_USER_AGENT' => $userAgent
  426. )));
  427. $userAgent = 'Mozilla/4.0 BlackBerry8100/4.2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/100 ';
  428. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  429. 'HTTP_USER_AGENT' => $userAgent
  430. )));
  431. $userAgent = 'BlackBerry8130/4.3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/109 ';
  432. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  433. 'HTTP_USER_AGENT' => $userAgent
  434. )));
  435. $userAgent = 'BlackBerry8310/4.2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/121 ';
  436. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  437. 'HTTP_USER_AGENT' => $userAgent
  438. )));
  439. $userAgent = 'BlackBerry8320/4.3.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 ';
  440. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  441. 'HTTP_USER_AGENT' => $userAgent
  442. )));
  443. $userAgent = 'BlackBerry8700/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/100 ';
  444. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  445. 'HTTP_USER_AGENT' => $userAgent
  446. )));
  447. $userAgent = 'BlackBerry8703e/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/105 ';
  448. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  449. 'HTTP_USER_AGENT' => $userAgent
  450. )));
  451. $userAgent = 'BlackBerry8820/4.2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/102 ';
  452. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  453. 'HTTP_USER_AGENT' => $userAgent
  454. )));
  455. $userAgent = 'BlackBerry8830/4.2.2 Profile/MIDP-2.0 Configuration/CLOC-1.1 VendorID/105 ';
  456. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  457. 'HTTP_USER_AGENT' => $userAgent
  458. )));
  459. $userAgent = 'BlackBerry8900/4.5.1.231 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/100 ';
  460. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  461. 'HTTP_USER_AGENT' => $userAgent
  462. )));
  463. $userAgent = 'BlackBerry9000/4.6.0.65 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/102 ';
  464. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  465. 'HTTP_USER_AGENT' => $userAgent
  466. )));
  467. $userAgent = 'BlackBerry9530/4.7.0.167 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/102 UP.Link/6.3.1.20.0';
  468. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  469. 'HTTP_USER_AGENT' => $userAgent
  470. )));
  471. $userAgent = 'BlackBerry 9630 Tour BlackBerry9630/4.7.1.40 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/104 ';
  472. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  473. 'HTTP_USER_AGENT' => $userAgent
  474. )));
  475. $userAgent = 'BlackBerry9700/5.0.0.423 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/100 ';
  476. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  477. 'HTTP_USER_AGENT' => $userAgent
  478. )));
  479. $userAgent = 'Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en) AppleWebKit/534.1+ (KHTML, Like Gecko) Version/6.0.0.141 Mobile Safari/534.1 ';
  480. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  481. 'HTTP_USER_AGENT' => $userAgent
  482. )));
  483. $userAgent = 'BlackBerry9530/5.0.0.328 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/105 ';
  484. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  485. 'HTTP_USER_AGENT' => $userAgent
  486. )));
  487. $userAgent = 'Mozilla/5.0 (Linux; U; Android 2.1-update1; fr-fr; desire_A8181 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 ';
  488. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  489. 'HTTP_USER_AGENT' => $userAgent
  490. )));
  491. $userAgent = 'SIE-EF81/58 UP.Browser/7.0.0.1.181 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 ';
  492. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  493. 'HTTP_USER_AGENT' => $userAgent
  494. )));
  495. $userAgent = 'Mozilla/5.0 (Linux; U; Android 2.1-update1; en-us; T-Mobile_Espresso Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 ';
  496. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  497. 'HTTP_USER_AGENT' => $userAgent
  498. )));
  499. $userAgent = 'Mozilla/5.0 (Linux; U; Android 2.1-update1; en-us; Sprint APA9292KT Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) ';
  500. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  501. 'HTTP_USER_AGENT' => $userAgent
  502. )));
  503. $userAgent = 'Mozilla/5.0 (Linux; U; Android 1.5; en-za; HTC Hero Build/CUPCAKE) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1 ';
  504. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  505. 'HTTP_USER_AGENT' => $userAgent
  506. )));
  507. $userAgent = 'Mozilla/5.0 (iPod; U; CPU iPhone OS 3_1_1 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Mobile/7C145 ';
  508. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  509. 'HTTP_USER_AGENT' => $userAgent
  510. )));
  511. $userAgent = 'Mozilla/5.0 (Linux; U; Android 2.1; fr-fr; HTC Legend 1.32.163.1 Build/ERD79) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 ';
  512. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  513. 'HTTP_USER_AGENT' => $userAgent
  514. )));
  515. $userAgent = 'LG-B2050 MIC/WAP2.0 MIDP-2.0/CLDC-1.0 ';
  516. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  517. 'HTTP_USER_AGENT' => $userAgent
  518. )));
  519. $userAgent = 'LG-C1100 MIC/WAP2.0 MIDP-2.0/CLDC-1.0 ';
  520. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  521. 'HTTP_USER_AGENT' => $userAgent
  522. )));
  523. $userAgent = 'LG-CU720/V1.0|Obigo/Q05A Profile/MIDP-2.0 Configuration/CLDC-1.1 ';
  524. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  525. 'HTTP_USER_AGENT' => $userAgent
  526. )));
  527. $userAgent = 'LGE-CU8080/1.0 UP.Browser/4.1.26l ';
  528. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  529. 'HTTP_USER_AGENT' => $userAgent
  530. )));
  531. $userAgent = 'LG-G1800 MIC/WAP2.0 MIDP-2.0/CLDC-1.0 ';
  532. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  533. 'HTTP_USER_AGENT' => $userAgent
  534. )));
  535. $userAgent = 'LG-G210/SW100/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 ';
  536. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  537. 'HTTP_USER_AGENT' => $userAgent
  538. )));
  539. $userAgent = 'LG-G220/V100/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 ';
  540. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  541. 'HTTP_USER_AGENT' => $userAgent
  542. )));
  543. $userAgent = 'LG-G232/V100/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 ';
  544. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  545. 'HTTP_USER_AGENT' => $userAgent
  546. )));
  547. $userAgent = 'LG-G262/V100/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 ';
  548. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  549. 'HTTP_USER_AGENT' => $userAgent
  550. )));
  551. $userAgent = 'LG-G5200 AU/4.10 ';
  552. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  553. 'HTTP_USER_AGENT' => $userAgent
  554. )));
  555. $userAgent = 'LG-G5600 MIC/WAP2.0 MIDP-2.0/CLDC-1.0 ';
  556. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  557. 'HTTP_USER_AGENT' => $userAgent
  558. )));
  559. $userAgent = 'LG-G610 V100 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0 ';
  560. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  561. 'HTTP_USER_AGENT' => $userAgent
  562. )));
  563. $userAgent = 'LG-G622/V100/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 ';
  564. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  565. 'HTTP_USER_AGENT' => $userAgent
  566. )));
  567. $userAgent = 'LG-G650 V100 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0 ';
  568. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  569. 'HTTP_USER_AGENT' => $userAgent
  570. )));
  571. $userAgent = 'LG-G660/V100/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 ';
  572. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  573. 'HTTP_USER_AGENT' => $userAgent
  574. )));
  575. $userAgent = 'LG-G672/V100/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 ';
  576. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  577. 'HTTP_USER_AGENT' => $userAgent
  578. )));
  579. $userAgent = 'LG-G682 /V100/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 ';
  580. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  581. 'HTTP_USER_AGENT' => $userAgent
  582. )));
  583. $userAgent = 'LG-G688 MIC/V100/WAP2.0 MIDP-2.0/CLDC-1.0 ';
  584. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  585. 'HTTP_USER_AGENT' => $userAgent
  586. )));
  587. $userAgent = 'LG-G7000 AU/4.10 ';
  588. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  589. 'HTTP_USER_AGENT' => $userAgent
  590. )));
  591. $userAgent = 'LG-G7050 UP.Browser/6.2.2 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 ';
  592. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  593. 'HTTP_USER_AGENT' => $userAgent
  594. )));
  595. $userAgent = 'LG-G7100 AU/4.10 Profile/MIDP-1.0 Configuration/CLDC-1.0 ';
  596. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  597. 'HTTP_USER_AGENT' => $userAgent
  598. )));
  599. $userAgent = 'LG-G7200 UP.Browser/6.2.2 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 ';
  600. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  601. 'HTTP_USER_AGENT' => $userAgent
  602. )));
  603. $userAgent = 'LG-G822/SW100/WAP2.0 Profile/MIDP-2.0 Configuration/CLDC-1.0 ';
  604. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  605. 'HTTP_USER_AGENT' => $userAgent
  606. )));
  607. $userAgent = 'LG-G850 V100 UP.Browser/6.2.2 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 ';
  608. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  609. 'HTTP_USER_AGENT' => $userAgent
  610. )));
  611. $userAgent = 'LG-G920/V122/WAP2.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 ';
  612. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  613. 'HTTP_USER_AGENT' => $userAgent
  614. )));
  615. $userAgent = 'LG-G922 Obigo/WAP2.0 MIDP-2.0/CLDC-1.1 ';
  616. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  617. 'HTTP_USER_AGENT' => $userAgent
  618. )));
  619. $userAgent = 'LG-G932 UP.Browser/6.2.3(GUI)MMP/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 ';
  620. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  621. 'HTTP_USER_AGENT' => $userAgent
  622. )));
  623. $userAgent = 'LG-KP500 Teleca/WAP2.0 MIDP-2.0/CLDC-1.1 ';
  624. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  625. 'HTTP_USER_AGENT' => $userAgent
  626. )));
  627. $userAgent = 'LG-KS360 Teleca/WAP2.0 MIDP-2.0/CLDC-1.1 ';
  628. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  629. 'HTTP_USER_AGENT' => $userAgent
  630. )));
  631. $userAgent = 'LG-L1100 UP.Browser/6.2.2 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 ';
  632. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  633. 'HTTP_USER_AGENT' => $userAgent
  634. )));
  635. $userAgent = 'LGE-MX8700/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0 ';
  636. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  637. 'HTTP_USER_AGENT' => $userAgent
  638. )));
  639. $userAgent = 'LG-T5100 UP.Browser/6.2.3 (GUI) MMP/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 ';
  640. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  641. 'HTTP_USER_AGENT' => $userAgent
  642. )));
  643. $userAgent = 'LG/U8120/v1.0 ';
  644. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  645. 'HTTP_USER_AGENT' => $userAgent
  646. )));
  647. $userAgent = 'LG/U8130/v1.0 ';
  648. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  649. 'HTTP_USER_AGENT' => $userAgent
  650. )));
  651. $userAgent = 'LG/U8138/v2.0 ';
  652. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  653. 'HTTP_USER_AGENT' => $userAgent
  654. )));
  655. $userAgent = 'LG/U8180/v1.0 ';
  656. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  657. 'HTTP_USER_AGENT' => $userAgent
  658. )));
  659. $userAgent = 'LG/U880/v1.0 ';
  660. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  661. 'HTTP_USER_AGENT' => $userAgent
  662. )));
  663. $userAgent = 'LGE-VX9100/1.0 UP.Browser/6.2.3.2 (GUI) MMP/2.0 ';
  664. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  665. 'HTTP_USER_AGENT' => $userAgent
  666. )));
  667. $userAgent = 'Mozilla/5.0 (Linux; U; Android 1.5; en-dk; HTC Magic Build/CUPCAKE) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1 ';
  668. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  669. 'HTTP_USER_AGENT' => $userAgent
  670. )));
  671. $userAgent = 'Mozilla/5.0 (Linux; U; Android 1.5; en-us; MB200 Build/CUPCAKE) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mob ';
  672. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  673. 'HTTP_USER_AGENT' => $userAgent
  674. )));
  675. $userAgent = 'Mozilla/5.0 (Linux; U; Android 2.0.1; en-us; Droid Build/ESD56) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 ';
  676. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  677. 'HTTP_USER_AGENT' => $userAgent
  678. )));
  679. $userAgent = 'Motorola Droid X Mozilla/5.0 (Linux; U; Android 2.1-update1; en-us; DROIDX Build/VZW) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 480X854 motorola DROIDX ';
  680. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  681. 'HTTP_USER_AGENT' => $userAgent
  682. )));
  683. $userAgent = 'MOT-E398/0E.20.59R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0 ';
  684. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  685. 'HTTP_USER_AGENT' => $userAgent
  686. )));
  687. $userAgent = 'MOT-EM30/R6716_G_71.01.24R Mozilla/5.0 (compatible; OSS/1.0; Chameleon; Linux) BER/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 [es-co] ';
  688. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  689. 'HTTP_USER_AGENT' => $userAgent
  690. )));
  691. $userAgent = 'MOT-K1/08.03.08R MIB/BER2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 EGE/1.0 ';
  692. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  693. 'HTTP_USER_AGENT' => $userAgent
  694. )));
  695. $userAgent = 'Mozilla/5.0 (Linux; U; Android 2.0.1; ko-kr; XT720 Build/STSKT_N_79.11.31R) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 ';
  696. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  697. 'HTTP_USER_AGENT' => $userAgent
  698. )));
  699. $userAgent = 'Mozilla/5.0 (Linux; U; Android 2.1-update1; ko-kr; XT720 Build/STSKT_N_79.11.33R) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 ';
  700. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  701. 'HTTP_USER_AGENT' => $userAgent
  702. )));
  703. $userAgent = 'MOT-V3/0E.42.0ER MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0 ';
  704. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  705. 'HTTP_USER_AGENT' => $userAgent
  706. )));
  707. $userAgent = 'MOT-V3r/08.BD.43R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 ';
  708. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  709. 'HTTP_USER_AGENT' => $userAgent
  710. )));
  711. $userAgent = 'MOT-RAZRV3xx/96.64.21P BER2.2 Mozilla/4.0 (compatible; MSIE 6.0; 11003002) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.00 [en] UP.Link/6.3.0.0.0 ';
  712. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  713. 'HTTP_USER_AGENT' => $userAgent
  714. )));
  715. $userAgent = 'motorazrV8/R601_G_80.42.0FRP Mozilla/4.0 (compatible; MSIE 6.0 Linux; Motorola V8;nnn) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.50[yy] ';
  716. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  717. 'HTTP_USER_AGENT' => $userAgent
  718. )));
  719. $userAgent = 'MOT-MOTORAZRV9/4 BER2.2 Mozilla/4.0 (compatible; MSIE 6.0; 14003181) Profile/MIDP-2.0 Configuration/CLDC-1.1 Op! era 8.00 [en] UP.Link/6.3.0.0.0 ';
  720. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  721. 'HTTP_USER_AGENT' => $userAgent
  722. )));
  723. $userAgent = 'MOT-MOTORAZRV9x/9E.03.15R BER2.2 Mozilla/4.0 (compatible; MSIE 6.0; 13003337) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.60 [en] UP.Link/6.3.0.0.0 ';
  724. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  725. 'HTTP_USER_AGENT' => $userAgent
  726. )));
  727. $userAgent = 'Mozilla/5.0 (compatible; OSS/1.0; Chameleon; Linux) MOT-E8/R6713_G_71.02.07R BER/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 ';
  728. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  729. 'HTTP_USER_AGENT' => $userAgent
  730. )));
  731. $userAgent = 'MOTOROKR Z6/R60_G_80.xx.yyl Mozilla/4.0 (compatible; MSIE 6.0 Linux; MOTOROKRZ6;nnn) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.50[yy] ';
  732. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  733. 'HTTP_USER_AGENT' => $userAgent
  734. )));
  735. $userAgent = 'MOT-L6/0A.52.2BR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 ';
  736. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  737. 'HTTP_USER_AGENT' => $userAgent
  738. )));
  739. $userAgent = 'MOT-L7/NA.ACR_RB MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 ';
  740. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  741. 'HTTP_USER_AGENT' => $userAgent
  742. )));
  743. $userAgent = 'Mozilla/5.0 (compatible; OSS/1.0; Chameleon; Linux) MOT-U9/R6632_G_81.11.29R BER/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 ';
  744. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  745. 'HTTP_USER_AGENT' => $userAgent
  746. )));
  747. $userAgent = 'MOT-MOTOZ9/9E.01.03R BER2.2 Mozilla/4.0 (compatible; MSIE 6.0; 11003002) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.60 [en] UP.Link/6.3.0.0.0 ';
  748. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  749. 'HTTP_USER_AGENT' => $userAgent
  750. )));
  751. $userAgent = 'MOT-ZN5/R6637_G_81.03.05R Mozilla/4.0 (compatible; OSS/1.0; Linux MOTOZINE ZN5) Profile/MIDP-2.0 Configuration/CLDC-1.1 Symphony 1.0 ';
  752. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  753. 'HTTP_USER_AGENT' => $userAgent
  754. )));
  755. $userAgent = 'Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 es65';
  756. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  757. 'HTTP_USER_AGENT' => $userAgent
  758. )));
  759. $userAgent = '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 ';
  760. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  761. 'HTTP_USER_AGENT' => $userAgent
  762. )));
  763. $userAgent = 'Nokia2610/2.0 (07.04a) Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Link/6.3.1.20.0 ';
  764. $this->assertTrue(Zend_Http_UserAgent_Mobile::match($userAgent, array(
  765. 'HTTP_USER_AGENT' => $userAgent
  766. )));
  767. $userAgent = 'Nokia5300/2.0 (05.51) Profile/MIDP-2.0 Co…

Large files files are truncated, but you can click here to view the full file