summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/private/appconfig.php2
-rw-r--r--lib/public/config.php6
-rw-r--r--tests/lib/public/config.php37
3 files changed, 41 insertions, 4 deletions
diff --git a/lib/private/appconfig.php b/lib/private/appconfig.php
index cfb84309c67..fed6989a438 100644
--- a/lib/private/appconfig.php
+++ b/lib/private/appconfig.php
@@ -147,7 +147,7 @@ class AppConfig implements \OCP\IAppConfig {
*/
public function hasKey($app, $key) {
$values = $this->getAppValues($app);
- return isset($values[$key]);
+ return array_key_exists($key, $values);
}
/**
diff --git a/lib/public/config.php b/lib/public/config.php
index bb973939f44..8e3791b449b 100644
--- a/lib/public/config.php
+++ b/lib/public/config.php
@@ -64,7 +64,7 @@ class Config {
public static function setSystemValue( $key, $value ) {
try {
\OC_Config::setValue( $key, $value );
- } catch (Exception $e) {
+ } catch (\Exception $e) {
return false;
}
return true;
@@ -96,7 +96,7 @@ class Config {
public static function setAppValue( $app, $key, $value ) {
try {
\OC_Appconfig::setValue( $app, $key, $value );
- } catch (Exception $e) {
+ } catch (\Exception $e) {
return false;
}
return true;
@@ -131,7 +131,7 @@ class Config {
public static function setUserValue( $user, $app, $key, $value ) {
try {
\OC_Preferences::setValue( $user, $app, $key, $value );
- } catch (Exception $e) {
+ } catch (\Exception $e) {
return false;
}
return true;
diff --git a/tests/lib/public/config.php b/tests/lib/public/config.php
new file mode 100644
index 00000000000..68367034e9a
--- /dev/null
+++ b/tests/lib/public/config.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * ownCloud
+ *
+ * @author Thomas Müller
+ * @copyright 2014 Thomas Müller thomas.mueller@tmit.eu
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+class Test_Config extends PHPUnit_Framework_TestCase
+{
+
+ public function testSetAppValueIfSetToNull() {
+
+ $key = uniqid("key-");
+
+ $result = \OCP\Config::setAppValue('unit-test', $key, null);
+ $this->assertTrue($result);
+
+ $result = \OCP\Config::setAppValue('unit-test', $key, '12');
+ $this->assertTrue($result);
+
+ }
+
+}