mirror of
https://github.com/moodle/moodle.git
synced 2025-08-08 10:26:40 +02:00
MDL-45846 Libraries custom user agent device detection unit test added
This commit is contained in:
parent
807c670765
commit
1d20e997a0
2 changed files with 32 additions and 0 deletions
|
@ -122,6 +122,11 @@ class core_useragent {
|
|||
if (!empty($CFG->devicedetectregex)) {
|
||||
$this->devicetypecustoms = json_decode($CFG->devicedetectregex, true);
|
||||
}
|
||||
if ($this->devicetypecustoms === null) {
|
||||
// This shouldn't happen unless you're hardcoding the config value.
|
||||
debugging('Config devicedetectregex is not valid JSON object');
|
||||
$this->devicetypecustoms = array();
|
||||
}
|
||||
if ($forceuseragent !== null) {
|
||||
$this->useragent = $forceuseragent;
|
||||
} else if (!empty($_SERVER['HTTP_USER_AGENT'])) {
|
||||
|
|
|
@ -126,4 +126,31 @@ class core_theme_config_testcase extends advanced_testcase {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This function will test custom device detection regular expression setting.
|
||||
*/
|
||||
public function test_devicedetectregex() {
|
||||
global $CFG;
|
||||
|
||||
$this->resetAfterTest();
|
||||
|
||||
// Check config currently empty.
|
||||
$this->assertEmpty(json_decode($CFG->devicedetectregex));
|
||||
$this->assertTrue(core_useragent::set_user_device_type('tablet'));
|
||||
$exceptionoccured = false;
|
||||
try {
|
||||
core_useragent::set_user_device_type('featurephone');
|
||||
} catch (moodle_exception $e) {
|
||||
$exceptionoccured = true;
|
||||
}
|
||||
$this->assertTrue($exceptionoccured);
|
||||
|
||||
// Set config and recheck.
|
||||
$config = array('featurephone' => '(Symbian|MIDP-1.0|Maemo|Windows CE)');
|
||||
$CFG->devicedetectregex = json_encode($config);
|
||||
core_useragent::instance(true); // Clears singleton cache.
|
||||
$this->assertTrue(core_useragent::set_user_device_type('tablet'));
|
||||
$this->assertTrue(core_useragent::set_user_device_type('featurephone'));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue