| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <?php
- use PHPUnit\Framework\TestCase;
- /**
- * @license MIT License https://github.com/serbanghita/Mobile-Detect/blob/master/LICENSE.txt
- * @link http://mobiledetect.net
- */
- class VendorsTest extends TestCase
- {
- protected $detect;
- protected static $items;
- public function setUp()
- {
- $this->detect = new Mobile_Detect;
- }
- public static function setUpBeforeClass()
- {
- //this method could be called multiple times
- if (!self::$items) {
- self::$items = include dirname(__FILE__).'/UA_List.inc.php';
- }
- }
- public function testisMobileIsTablet()
- {
- foreach (self::$items as $brand => $deviceArr) {
- foreach ($deviceArr as $userAgent => $conditions) {
- if (!is_array($conditions)) {
- continue;
- }
- $this->detect->setUserAgent($userAgent);
- foreach ($conditions as $condition => $assert) {
- // Currently not supporting version and model here.
- // @todo: I need to split this tests!
- if (in_array($condition, array('model'))) {
- continue;
- } // 'version',
- switch ($condition) {
- case 'version':
- // Android, iOS, Chrome, Build, etc.
- foreach ($assert as $assertKey => $assertValue) {
- //if ($brand == 'Apple') {
- // echo 'UA ('.$condition.'('.$assertKey.') === '.$assertValue.'): '.$userAgent . "\n";
- //}
- $this->assertSame( $this->detect->$condition( $assertKey ), $assertValue, 'UA ('.$condition.'('.$assertKey.') === '.$assertValue.'): '.$userAgent);
- }
- break;
- default:
- $this->assertSame($this->detect->$condition(), $assert, 'UA ('.$condition.'): '.$userAgent);
- break;
- }
- }
- }
- }
- }
- public function testVersion()
- {
- foreach (self::$items as $brand => $deviceArr) {
- foreach ($deviceArr as $userAgent => $conditions) {
- if ( !is_array($conditions) || !isset($conditions['version']) ) { continue; }
- $this->detect->setUserAgent($userAgent);
- foreach ($conditions['version'] as $condition => $assertion) {
- $this->assertEquals( $this->detect->version($condition), $assertion, 'UA (version("'.$condition.'")): '.$userAgent );
- }
- }
- }
- }
- }
|