From e78b9ee3bef1f0ec15fa974fb472d70f8326abe8 Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Wed, 23 Oct 2013 10:39:07 +1300 Subject: [PATCH] Fixes #4235 Adding Windows 8.1 detection --- libs/UserAgentParser/UserAgentParser.php | 1 + libs/UserAgentParser/UserAgentParser.test.php | 1 + .../UserAgentParserEnhanced/regexes/browsers.yml | 3 +++ .../UserAgentParserEnhanced/regexes/oss.yml | 2 +- .../Fixtures/userAgentParserEnhancedFixtures.yml | 15 +++++++++++++++ 5 files changed, 21 insertions(+), 1 deletion(-) diff --git a/libs/UserAgentParser/UserAgentParser.php b/libs/UserAgentParser/UserAgentParser.php index 85c9225cc5..1cb0d09828 100644 --- a/libs/UserAgentParser/UserAgentParser.php +++ b/libs/UserAgentParser/UserAgentParser.php @@ -230,6 +230,7 @@ class UserAgentParser 'CYGWIN_NT-6.2' => 'WI8', 'Windows NT 6.2' => 'WI8', + 'Windows NT 6.3' => 'WI8', 'Windows 8' => 'WI8', 'CYGWIN_NT-6.1' => 'WI7', 'Windows NT 6.1' => 'WI7', diff --git a/libs/UserAgentParser/UserAgentParser.test.php b/libs/UserAgentParser/UserAgentParser.test.php index cd23f36e99..5d59eed198 100644 --- a/libs/UserAgentParser/UserAgentParser.test.php +++ b/libs/UserAgentParser/UserAgentParser.test.php @@ -28,6 +28,7 @@ $testUserAgent = array( 'firefox 3.5 alpha on win7' => 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1b4pre) Gecko/20090420 Shiretoko/3.5b4pre (.NET CLR 3.5.30729)', 'firefox nightly build' => 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:2.0a1pre) Gecko/2008060602 Minefield/4.0a1pre', 'thunderbird 14.0 with lightning 1.6' => 'Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20120713 Thunderbird/14.0 Lightning/1.6', + 'Windows 8' => 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko', ); echo "Test with another user agent: "; foreach ($testUserAgent as $name => $userAgent) { diff --git a/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/browsers.yml b/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/browsers.yml index 7909b6ba7c..ed4c6c1fe9 100644 --- a/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/browsers.yml +++ b/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/browsers.yml @@ -264,6 +264,9 @@ - regex: 'IEMobile[ /](\d+\.\d+)' name: IE Mobile version: '$1' +- regex: 'IE[ /](\d+\.\d+)' + name: Internet Explorer + version: '$1' - regex: 'MSIE.*Trident/4.0' name: Internet Explorer version: 8.0 diff --git a/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/oss.yml b/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/oss.yml index 918a00487d..d79abf0f47 100644 --- a/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/oss.yml +++ b/plugins/DevicesDetection/UserAgentParserEnhanced/regexes/oss.yml @@ -81,7 +81,7 @@ ########## # Windows ########## -- regex: 'CYGWIN_NT-6.2|Windows NT 6.2|Windows 8' +- regex: 'CYGWIN_NT-6.2|Windows NT 6.2|Windows NT 6.3|Windows 8' name: 'Windows 8' version: '8' diff --git a/tests/PHPUnit/Fixtures/userAgentParserEnhancedFixtures.yml b/tests/PHPUnit/Fixtures/userAgentParserEnhancedFixtures.yml index 5310f8cda2..f3aca92059 100644 --- a/tests/PHPUnit/Fixtures/userAgentParserEnhancedFixtures.yml +++ b/tests/PHPUnit/Fixtures/userAgentParserEnhancedFixtures.yml @@ -1,3 +1,18 @@ +- user_agent: Mozilla/5.0 (IE 11.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C; rv:11.0) like Gecko + os: + name: Windows 8 + short_name: WI8 + version: 8 + browser: + name: Internet Explorer + short_name: IE + version: 11.0 + device: 0 + brand: + model: + os_family: Other + browser_family: Other + - user_agent: Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.22371/28.3782; U; en) Presto/2.8.119 Version/11.10 -- GitLab