37#define COCOS2D_DEBUG 1
40UserDefaultTests::UserDefaultTests()
47 auto s = Director::getInstance()->getWinSize();
48 auto label = Label::createWithTTF(
"CCUserDefault test Log data see console",
"fonts/arial.ttf", 22);
50 label->setPosition( Vec2(s.width/2, s.height-50) );
52 this->
_label = Label::createWithTTF(
"result",
"fonts/arial.ttf", 12);
55 label->setPosition(Vec2(s.width / 2, s.height - 50));
56 this->
_label->setPosition(Vec2(s.width / 2, s.height / 2));
64 Data data = UserDefault::getInstance()->getDataForKey(key);
65 T* buffer = (T*) data.getBytes();
66 ssize_t length = data.getSize() /
sizeof(T);
68 std::ostringstream ss;
69 ss << setprecision(2) << std::fixed;
70 for (
int i = 0; i < length; i++)
72 ss << buffer[i] <<
" ";
75 CCLOG(
"%s is %s", key, ss.str().c_str());
84 for (
int i = 0; i <= 5; i++)
86 v.push_back(
static_cast<T
>(i));
88 data.copy((
unsigned char*) v.data(), v.size() *
sizeof(T));
89 UserDefault::getInstance()->setDataForKey(key, data);
98 for (
int i = 5; i >= 0; i--)
100 v.push_back(
static_cast<T
>(i));
102 data.copy((
unsigned char*) v.data(), v.size() *
sizeof(T));
103 UserDefault::getInstance()->setDataForKey(key, data);
108 this->
_label->setString(this->
_label->getString() +
"\n" +
"********************** init value ***********************");
112 UserDefault::getInstance()->setStringForKey(
"string",
"value1");
113 UserDefault::getInstance()->setIntegerForKey(
"integer", 10);
114 UserDefault::getInstance()->setFloatForKey(
"float", 2.3f);
115 UserDefault::getInstance()->setDoubleForKey(
"double", 2.4);
116 UserDefault::getInstance()->setBoolForKey(
"bool",
true);
119 setData<int>(
"int_data");
120 setData<float>(
"float_data");
121 setData<double>(
"double_data");
125 logData<int>(
"int_data");
126 logData<float>(
"float_data");
127 logData<double>(
"double_data");
131 this->
_label->setString(this->
_label->getString() +
"\n" +
"********************** after change value ***********************");
135 UserDefault::getInstance()->setStringForKey(
"string",
"value2");
136 UserDefault::getInstance()->setIntegerForKey(
"integer", 11);
137 UserDefault::getInstance()->setFloatForKey(
"float", 2.5f);
138 UserDefault::getInstance()->setDoubleForKey(
"double", 2.6);
139 UserDefault::getInstance()->setBoolForKey(
"bool",
false);
141 setData2<int>(
"int_data");
142 setData2<float>(
"float_data");
143 setData2<double>(
"double_data");
145 UserDefault::getInstance()->flush();
150 logData<int>(
"int_data");
151 logData<float>(
"float_data");
152 logData<double>(
"double_data");
154 this->
_label->setString(this->
_label->getString() +
"\n" +
"********************** after delete value ***********************");
156 UserDefault::getInstance()->deleteValueForKey(
"string");
157 UserDefault::getInstance()->deleteValueForKey(
"integer");
158 UserDefault::getInstance()->deleteValueForKey(
"float");
159 UserDefault::getInstance()->deleteValueForKey(
"double");
160 UserDefault::getInstance()->deleteValueForKey(
"bool");
168 char strTemp[256] =
"";
170 std::string ret = UserDefault::getInstance()->getStringForKey(
"string");
171 sprintf(strTemp,
"string is %s", ret.c_str());
172 this->
_label->setString(this->
_label->getString() +
"\n" + strTemp);
174 double d = UserDefault::getInstance()->getDoubleForKey(
"double");
175 sprintf(strTemp,
"double is %f", d);
176 this->
_label->setString(this->
_label->getString() +
"\n" + strTemp);
178 int i = UserDefault::getInstance()->getIntegerForKey(
"integer");
179 sprintf(strTemp,
"integer is %d", i);
180 this->
_label->setString(this->
_label->getString() +
"\n" + strTemp);
182 float f = UserDefault::getInstance()->getFloatForKey(
"float");
183 sprintf(strTemp,
"float is %f", f);
184 this->
_label->setString(this->
_label->getString() +
"\n" + strTemp);
186 bool b = UserDefault::getInstance()->getBoolForKey(
"bool");
189 sprintf(strTemp,
"bool is true");
190 this->
_label->setString(this->
_label->getString() +
"\n" + strTemp);
194 sprintf(strTemp,
"bool is false");
195 this->
_label->setString(this->
_label->getString() +
"\n" + strTemp);
#define ADD_TEST_CASE(__className__)
void setData2(const char *key)
void logData(const char *key)
void setData(const char *key)