#include <string.h>
#include <glib.h>
#include <gtest/gtest.h>
+#include <vconf.h>
#include "system_settings.h"
+#include "mocks/sstt_mock.h"
extern "C" {
#include "sst.h"
static gboolean checkCallbackIdle(gpointer data)
{
- bool *oldVal = (bool*)data;
- int ret = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, oldVal);
+ bool *val = (bool*)data;
+ int ret = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, val);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
- ret = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, !(*oldVal));
+ ret = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, !(*val));
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
return G_SOURCE_REMOVE;
sst_interface *iface;
int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_SCREEN_BACKLIGHT_TIME, &iface);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+
+ sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL, 60, 0);
ret = sst_vconf_get_int(iface, &val);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
}
+TEST(SstVconfTest, getValueIntERR)
+{
+ int val;
+ sst_interface *iface;
+ int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_SCREEN_BACKLIGHT_TIME, &iface);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+
+ sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL, 60, -1);
+ ret = sst_vconf_get_int(iface, &val);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
+}
+
TEST(SstVconfTest, setValueInt)
{
- int oldVal;
int getVal;
int setVal = 60;
sst_interface *iface;
int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_SCREEN_BACKLIGHT_TIME, &iface);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
- ret = sst_vconf_get_int(iface, &oldVal);
- EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+
+ sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL, 0);
ret = sst_vconf_set_int(iface, setVal);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
ret = sst_vconf_get_int(iface, &getVal);;
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
EXPECT_EQ(setVal, getVal);
- ret = sst_vconf_set_int(iface, oldVal);
+}
+
+TEST(SstVconfTest, setValueIntERR)
+{
+ sst_interface *iface;
+ int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_SCREEN_BACKLIGHT_TIME, &iface);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+
+ sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL, -1);
+ ret = sst_vconf_set_int(iface, 60);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
}
TEST(SstVconfTest, getValueBool)
sst_interface *iface;
int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, &iface);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+
+ sstm_vconf_get_bool_setup(VCONFKEY_SETAPPL_MOTION_ACTIVATION, false, 0);
ret = sst_vconf_get_bool(iface, &val);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
}
+TEST(SstVconfTest, getValueBoolERR)
+{
+ bool val;
+ sst_interface *iface;
+ int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, &iface);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+
+ sstm_vconf_get_bool_setup(VCONFKEY_SETAPPL_MOTION_ACTIVATION, false, -1);
+ ret = sst_vconf_get_bool(iface, &val);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
+}
+
TEST(SstVconfTest, setValueBool)
{
bool getVal;
sst_interface *iface;
int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, &iface);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+
+ sstm_vconf_set_bool_setup(VCONFKEY_SETAPPL_MOTION_ACTIVATION, 0);
ret = sst_vconf_get_bool(iface, &getVal);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
setVal = !getVal;
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
}
+TEST(SstVconfTest, setValueBoolERR)
+{
+ sst_interface *iface;
+ int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, &iface);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+
+ sstm_vconf_set_bool_setup(VCONFKEY_SETAPPL_MOTION_ACTIVATION, -1);
+ ret = sst_vconf_set_bool(iface, false);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
+}
+
TEST(SstVconfTest, getValueString)
{
char *val;
sst_interface *iface;
int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &iface);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+
+ sstm_vconf_get_str_setup(VCONFKEY_REGIONFORMAT, "ko", 0);
ret = sst_vconf_get_str(iface, &val);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
free(val);
+
+ sstm_vconf_clear_str(VCONFKEY_REGIONFORMAT);
+}
+
+TEST(SstVconfTest, getValueStringERR)
+{
+ char *val;
+ sst_interface *iface;
+ int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &iface);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+
+ sstm_vconf_get_str_setup(VCONFKEY_REGIONFORMAT, "ko", -1);
+ ret = sst_vconf_get_str(iface, &val);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
+
+ sstm_vconf_clear_str(VCONFKEY_REGIONFORMAT);
}
TEST(SstVconfTest, setValueString)
{
- char *oldVal;
char *getVal;
const char *setVal = "ko_KR";
sst_interface *iface;
int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY, &iface);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
- ret = sst_vconf_get_str(iface, &oldVal);
- EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+ sstm_vconf_set_str_setup(VCONFKEY_REGIONFORMAT, 0);
ret = sst_vconf_set_str(iface, setVal);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
ret = sst_vconf_get_str(iface, &getVal);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
EXPECT_STREQ(setVal, getVal);
free(getVal);
- ret = sst_vconf_set_str(iface, oldVal);
- EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
- free(oldVal);
+
+ sstm_vconf_clear_str(VCONFKEY_REGIONFORMAT);
}
TEST_F(SstVconfCBTest, setUnsetChangedCallback)
{
- bool oldVal;
+ bool val;
sst_interface *iface;
int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, &iface);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+
+ sstm_vconf_notify_key_changed_setup(true);
+ sstm_vconf_ignore_key_changed_setup(true);
+ sstm_vconf_get_bool_setup(VCONFKEY_SETAPPL_MOTION_ACTIVATION, false, 0);
+
ret = sst_vconf_set_cb(iface, changedCallback, NULL);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
resultCB = -1;
- g_idle_add(checkCallbackIdle, &oldVal);
+ g_idle_add(checkCallbackIdle, &val);
g_main_loop_run(loop);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, resultCB);
ret = sst_vconf_unset_cb(iface);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
- ret = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, oldVal);
+}
+
+TEST_F(SstVconfCBTest, setUnsetChangedCallbackERR)
+{
+ sst_interface *iface;
+ int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, &iface);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+ ret = sst_vconf_set_cb(iface, NULL, NULL);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
+
+ sstm_vconf_notify_key_changed_setup(false);
+ ret = sst_vconf_set_cb(iface, changedCallback, NULL);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
+ sstm_vconf_ignore_key_changed_setup(false);
+ ret = sst_vconf_unset_cb(iface);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
}
TEST_F(SstVconfCBTest, addDeleteChangedCallback)
{
- bool oldVal;
+ bool val;
sst_interface *iface;
+
+ sstm_vconf_notify_key_changed_setup(true);
+ sstm_vconf_ignore_key_changed_setup(true);
+ sstm_vconf_get_bool_setup(VCONFKEY_SETAPPL_MOTION_ACTIVATION, false, 0);
+
int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, &iface);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
ret = sst_vconf_add_multi_cb(iface, changedMultiCallback1, NULL);
ret = sst_vconf_add_multi_cb(iface, changedMultiCallback2, NULL);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
resultCB = 0;
- g_idle_add(checkCallbackIdle, &oldVal);
+ g_idle_add(checkCallbackIdle, &val);
g_main_loop_run(loop);
EXPECT_EQ(0x11, resultCB);
ret = sst_vconf_del_multi_cb(iface, changedMultiCallback1);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
ret = sst_vconf_del_multi_cb(iface, changedMultiCallback2);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
- ret = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, oldVal);
+}
+
+TEST_F(SstVconfCBTest, addDeleteChangedCallbackERR)
+{
+ sst_interface *iface;
+ int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, &iface);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+ ret = sst_vconf_add_multi_cb(iface, NULL, NULL);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
+
+ sstm_vconf_notify_key_changed_setup(false);
+ ret = sst_vconf_add_multi_cb(iface, changedCallback, NULL);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
+ sstm_vconf_ignore_key_changed_setup(false);
+ ret = sst_vconf_del_multi_cb(iface, changedCallback);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
}
TEST_F(SstVconfCBTest, subscribeUnsubscribe)
{
- bool oldVal;
+ bool val;
sst_interface *iface;
system_settings_cb_id cb[2];
+
+ sstm_vconf_notify_key_changed_setup(true);
+ sstm_vconf_ignore_key_changed_setup(true);
+ sstm_vconf_get_bool_setup(VCONFKEY_SETAPPL_MOTION_ACTIVATION, false, 0);
+
int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, &iface);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
ret = sst_vconf_subscribe(iface, changedMultiCallback1, NULL, &cb[0]);
ret = sst_vconf_subscribe(iface, changedMultiCallback2, NULL, &cb[1]);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
resultCB = 0;
- g_idle_add(checkCallbackIdle, &oldVal);
+ g_idle_add(checkCallbackIdle, &val);
g_main_loop_run(loop);
EXPECT_EQ(0x11, resultCB);
ret = sst_vconf_unsubscribe(iface, cb[0]);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
ret = sst_vconf_unsubscribe(iface, cb[1]);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
- ret = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, oldVal);
+}
+
+TEST_F(SstVconfCBTest, subscribeUnsubscribeERR)
+{
+ sst_interface *iface;
+ system_settings_cb_id cb;
+ int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, &iface);
EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
+ ret = sst_vconf_subscribe(iface, NULL, NULL, &cb);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
+
+ sstm_vconf_notify_key_changed_setup(false);
+ ret = sst_vconf_subscribe(iface, changedCallback, NULL, &cb);
+ EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
+ sstm_vconf_ignore_key_changed_setup(false);
+ ret = sst_vconf_unsubscribe(iface, cb);
+ changedCallback(SYSTEM_SETTINGS_KEY_MOTION_ACTIVATION, NULL);
}