Merge branch 'MDL-31482-master' of git://github.com/sammarshallou/moodle

This commit is contained in:
Aparup Banerjee 2012-02-08 09:57:55 +08:00
commit 1dd9848042
2 changed files with 11 additions and 1 deletions

View File

@ -8279,7 +8279,8 @@ function get_device_type() {
return 'tablet';
}
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.') !== false) {
// Safe way to check for IE6 and not get false positives for some IE 7/8 users
if (substr($_SERVER['HTTP_USER_AGENT'], 0, 34) === 'Mozilla/4.0 (compatible; MSIE 6.0;') {
return 'legacy';
}

View File

@ -296,6 +296,15 @@ class moodlelib_test extends UnitTestCase {
$this->assertEqual(array('gecko', 'gecko19'), get_browser_version_classes());
}
function test_get_device_type() {
// IE8 (common pattern ~1.5% of IE7/8 users have embedded IE6 agent))
$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; BT Openworld BB; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; Hotbar 10.2.197.0; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727)';
$this->assertEqual('default', get_device_type());
// Genuine IE6
$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/4.0 (compatible; MSIE 6.0; AOL 9.0; Windows NT 5.1; SV1; FunWebProducts; .NET CLR 1.0.3705; Media Center PC 2.8)';
$this->assertEqual('legacy', get_device_type());
}
function test_fix_utf8() {
// make sure valid data including other types is not changed
$this->assertidentical(null, fix_utf8(null));