|
|
|
|
@ -70,4 +70,54 @@ class Test_Request extends PHPUnit_Framework_TestCase { |
|
|
|
|
array('/oc/core1', '/oc/core/index.php'), |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @dataProvider userAgentProvider |
|
|
|
|
*/ |
|
|
|
|
public function testUserAgent($testAgent, $userAgent, $matches) { |
|
|
|
|
$_SERVER['HTTP_USER_AGENT'] = $testAgent; |
|
|
|
|
$this->assertEquals($matches, OC_Request::isUserAgent($userAgent)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function userAgentProvider() { |
|
|
|
|
return array( |
|
|
|
|
array( |
|
|
|
|
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)', |
|
|
|
|
OC_Request::USER_AGENT_IE, |
|
|
|
|
true |
|
|
|
|
), |
|
|
|
|
array( |
|
|
|
|
'Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0', |
|
|
|
|
OC_Request::USER_AGENT_IE, |
|
|
|
|
false |
|
|
|
|
), |
|
|
|
|
array( |
|
|
|
|
'Mozilla/5.0 (Linux; Android 4.4; Nexus 4 Build/KRT16S) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36', |
|
|
|
|
OC_Request::USER_AGENT_ANDROID_MOBILE_CHROME, |
|
|
|
|
true |
|
|
|
|
), |
|
|
|
|
array( |
|
|
|
|
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)', |
|
|
|
|
OC_Request::USER_AGENT_ANDROID_MOBILE_CHROME, |
|
|
|
|
false |
|
|
|
|
), |
|
|
|
|
// test two values |
|
|
|
|
array( |
|
|
|
|
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)', |
|
|
|
|
array( |
|
|
|
|
OC_Request::USER_AGENT_IE, |
|
|
|
|
OC_Request::USER_AGENT_ANDROID_MOBILE_CHROME, |
|
|
|
|
), |
|
|
|
|
true |
|
|
|
|
), |
|
|
|
|
array( |
|
|
|
|
'Mozilla/5.0 (Linux; Android 4.4; Nexus 4 Build/KRT16S) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36', |
|
|
|
|
array( |
|
|
|
|
OC_Request::USER_AGENT_IE, |
|
|
|
|
OC_Request::USER_AGENT_ANDROID_MOBILE_CHROME, |
|
|
|
|
), |
|
|
|
|
true |
|
|
|
|
), |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|