1194 public function version($propertyName, $type = self::VERSION_TYPE_STRING)
1196 if (empty($propertyName)) {
1201 if ($type !== self::VERSION_TYPE_STRING && $type !== self::VERSION_TYPE_FLOAT) {
1214 foreach (
$properties[$propertyName] as $propertyMatchString) {
1216 $propertyPattern = str_replace(
'[VER]', self::VER, $propertyMatchString);
1219 preg_match(sprintf(
'#%s#is', $propertyPattern), $this->userAgent, $match);
1221 if (
false === empty($match[1])) {
1222 $version = ($type == self::VERSION_TYPE_FLOAT ? $this->
prepareVersionNo($match[1]) : $match[1]);
1245 $this->
is(
'iOS') && $this->
version(
'iPad', self::VERSION_TYPE_FLOAT) >= 4.3 ||
1246 $this->
is(
'iOS') && $this->
version(
'iPhone', self::VERSION_TYPE_FLOAT) >= 4.3 ||
1247 $this->
is(
'iOS') && $this->
version(
'iPod', self::VERSION_TYPE_FLOAT) >= 4.3 ||
1253 ( $this->
version(
'Android', self::VERSION_TYPE_FLOAT)>2.1 && $this->
is(
'Webkit') ) ||
1256 $this->
version(
'Windows Phone OS', self::VERSION_TYPE_FLOAT) >= 7.5 ||
1259 $this->
is(
'BlackBerry') && $this->
version(
'BlackBerry', self::VERSION_TYPE_FLOAT) >= 6.0 ||
1261 $this->
match(
'Playbook.*Tablet') ||
1264 ( $this->
version(
'webOS', self::VERSION_TYPE_FLOAT) >= 1.4 && $this->
match(
'Palm|Pre|Pixi') ) ||
1266 $this->
match(
'hp.*TouchPad') ||
1269 ( $this->
is(
'Firefox') && $this->
version(
'Firefox', self::VERSION_TYPE_FLOAT) >= 18 ) ||
1272 ( $this->
is(
'Chrome') && $this->
is(
'AndroidOS') && $this->
version(
'Android', self::VERSION_TYPE_FLOAT) >= 4.0 ) ||
1275 ( $this->
is(
'Skyfire') && $this->
version(
'Skyfire', self::VERSION_TYPE_FLOAT) >= 4.1 && $this->
is(
'AndroidOS') && $this->
version(
'Android', self::VERSION_TYPE_FLOAT) >= 2.3 ) ||
1278 ( $this->
is(
'Opera') && $this->
version(
'Opera Mobi', self::VERSION_TYPE_FLOAT) >= 11.5 && $this->
is(
'AndroidOS') ) ||
1281 $this->
is(
'MeeGoOS') ||
1284 $this->
is(
'Tizen') ||
1288 $this->
is(
'Dolfin') && $this->
version(
'Bada', self::VERSION_TYPE_FLOAT) >= 2.0 ||
1291 ( ($this->
is(
'UC Browser') || $this->
is(
'Dolfin')) && $this->
version(
'Android', self::VERSION_TYPE_FLOAT) >= 2.3 ) ||
1294 ( $this->
match(
'Kindle Fire') ||
1295 $this->
is(
'Kindle') && $this->
version(
'Kindle', self::VERSION_TYPE_FLOAT) >= 3.0 ) ||
1298 $this->
is(
'AndroidOS') && $this->
is(
'NookTablet') ||
1301 $this->
version(
'Chrome', self::VERSION_TYPE_FLOAT) >= 16 && !$isMobile ||
1304 $this->
version(
'Safari', self::VERSION_TYPE_FLOAT) >= 5.0 && !$isMobile ||
1307 $this->
version(
'Firefox', self::VERSION_TYPE_FLOAT) >= 10.0 && !$isMobile ||
1310 $this->
version(
'IE', self::VERSION_TYPE_FLOAT) >= 7.0 && !$isMobile ||
1313 $this->
version(
'Opera', self::VERSION_TYPE_FLOAT) >= 10 && !$isMobile
1319 $this->
is(
'iOS') && $this->
version(
'iPad', self::VERSION_TYPE_FLOAT)<4.3 ||
1320 $this->
is(
'iOS') && $this->
version(
'iPhone', self::VERSION_TYPE_FLOAT)<4.3 ||
1321 $this->
is(
'iOS') && $this->
version(
'iPod', self::VERSION_TYPE_FLOAT)<4.3 ||
1324 $this->
is(
'Blackberry') && $this->
version(
'BlackBerry', self::VERSION_TYPE_FLOAT) >= 5 && $this->
version(
'BlackBerry', self::VERSION_TYPE_FLOAT)<6 ||
1327 ($this->
version(
'Opera Mini', self::VERSION_TYPE_FLOAT) >= 5.0 && $this->
version(
'Opera Mini', self::VERSION_TYPE_FLOAT) <= 7.0 &&
1328 ($this->
version(
'Android', self::VERSION_TYPE_FLOAT) >= 2.3 || $this->
is(
'iOS')) ) ||
1331 $this->
match(
'NokiaN8|NokiaC7|N97.*Series60|Symbian/3') ||
1334 $this->
version(
'Opera Mobi', self::VERSION_TYPE_FLOAT) >= 11 && $this->
is(
'SymbianOS')
1341 $this->
version(
'BlackBerry', self::VERSION_TYPE_FLOAT) <= 5.0 ||
1343 $this->
match(
'MSIEMobile|Windows CE.*Mobile') || $this->
version(
'Windows Mobile', self::VERSION_TYPE_FLOAT) <= 5.2 ||
1346 $this->
is(
'iOS') && $this->
version(
'iPad', self::VERSION_TYPE_FLOAT) <= 3.2 ||
1347 $this->
is(
'iOS') && $this->
version(
'iPhone', self::VERSION_TYPE_FLOAT) <= 3.2 ||
1348 $this->
is(
'iOS') && $this->
version(
'iPod', self::VERSION_TYPE_FLOAT) <= 3.2 ||
1351 $this->
version(
'IE', self::VERSION_TYPE_FLOAT) <= 7.0 && !$isMobile