24 void TestJson::QMJsonValue_create(
void)
26 auto value00 = QMPointer<QMJsonValue>(
new QMJsonValue());
27 auto value01 = QMPointer<QMJsonValue>(
new QMJsonValue(
true));
28 auto value02 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8));
29 auto value03 = QMPointer<QMJsonValue>(
new QMJsonValue(
"Hello World"));
30 auto value04 = QMPointer<QMJsonValue>(
new QMJsonValue(QString(
"Hello World")));
31 auto value05 = QMPointer<QMJsonValue>(
new QMJsonValue(QMPointer<QMJsonValue>()));
32 auto value06 = QMPointer<QMJsonValue>(
new QMJsonValue(QMPointer<QMJsonArray>()));
33 auto value07 = QMPointer<QMJsonValue>(
new QMJsonValue(QMPointer<QMJsonObject>()));
40 auto value14 = QMPointer<QMJsonValue>(
new QMJsonValue(QRect()));
41 auto value15 = QMPointer<QMJsonValue>(
new QMJsonValue((
float)4.8));
42 auto value16 = QMPointer<QMJsonValue>(
new QMJsonValue((
char)4.8));
43 auto value17 = QMPointer<QMJsonValue>(
new QMJsonValue((
long)4.8));
44 auto value18 = QMPointer<QMJsonValue>(
new QMJsonValue((
unsigned long)4.8));
45 auto value19 = QMPointer<QMJsonValue>(
new QMJsonValue((int8_t)15));
46 auto value20 = QMPointer<QMJsonValue>(
new QMJsonValue((uint8_t)16));
47 auto value21 = QMPointer<QMJsonValue>(
new QMJsonValue((int16_t)23));
48 auto value22 = QMPointer<QMJsonValue>(
new QMJsonValue((uint16_t)42));
49 auto value23 = QMPointer<QMJsonValue>(
new QMJsonValue((int32_t)4));
50 auto value24 = QMPointer<QMJsonValue>(
new QMJsonValue((uint32_t)8));
51 auto value25 = QMPointer<QMJsonValue>(
new QMJsonValue((int64_t)15));
52 auto value26 = QMPointer<QMJsonValue>(
new QMJsonValue((uint64_t)16));
53 auto value27 = QMPointer<QMJsonValue>(
new QMJsonValue((
char)15));
54 auto value28 = QMPointer<QMJsonValue>(
new QMJsonValue((
unsigned char)16));
55 auto value29 = QMPointer<QMJsonValue>(
new QMJsonValue((
short)15));
56 auto value30 = QMPointer<QMJsonValue>(
new QMJsonValue((
unsigned short)16));
57 auto value31 = QMPointer<QMJsonValue>(
new QMJsonValue((
int)15));
58 auto value32 = QMPointer<QMJsonValue>(
new QMJsonValue((
unsigned int)16));
59 auto value33 = QMPointer<QMJsonValue>(
new QMJsonValue((
long long)15));
60 auto value34 = QMPointer<QMJsonValue>(
new QMJsonValue((
unsigned long long)16));
98 QVERIFY(value00->typeString() ==
"QMJsonValueType_Null");
99 QVERIFY(value01->typeString() ==
"QMJsonValueType_Bool");
100 QVERIFY(value02->typeString() ==
"QMJsonValueType_Double");
101 QVERIFY(value03->typeString() ==
"QMJsonValueType_String");
102 QVERIFY(value04->typeString() ==
"QMJsonValueType_String");
103 QVERIFY(value05->typeString() ==
"QMJsonValueType_Null");
104 QVERIFY(value06->typeString() ==
"QMJsonValueType_Array");
105 QVERIFY(value07->typeString() ==
"QMJsonValueType_Object");
106 QVERIFY(value08->typeString() ==
"QMJsonValueType_Null");
107 QVERIFY(value09->typeString() ==
"QMJsonValueType_Array");
108 QVERIFY(value10->typeString() ==
"QMJsonValueType_Object");
109 QVERIFY(value11->typeString() ==
"QMJsonValueType_Null");
110 QVERIFY(value12->typeString() ==
"QMJsonValueType_Array");
111 QVERIFY(value13->typeString() ==
"QMJsonValueType_Object");
112 QVERIFY(value14->typeString() ==
"QMJsonValueType_Custom");
113 QVERIFY(value15->typeString() ==
"QMJsonValueType_Double");
114 QVERIFY(value16->typeString() ==
"QMJsonValueType_Double");
115 QVERIFY(value17->typeString() ==
"QMJsonValueType_Double");
116 QVERIFY(value18->typeString() ==
"QMJsonValueType_Double");
117 QVERIFY(value19->typeString() ==
"QMJsonValueType_Double");
118 QVERIFY(value20->typeString() ==
"QMJsonValueType_Double");
119 QVERIFY(value21->typeString() ==
"QMJsonValueType_Double");
120 QVERIFY(value22->typeString() ==
"QMJsonValueType_Double");
121 QVERIFY(value23->typeString() ==
"QMJsonValueType_Double");
122 QVERIFY(value24->typeString() ==
"QMJsonValueType_Double");
123 QVERIFY(value25->typeString() ==
"QMJsonValueType_Double");
124 QVERIFY(value26->typeString() ==
"QMJsonValueType_Double");
125 QVERIFY(value27->typeString() ==
"QMJsonValueType_Double");
126 QVERIFY(value28->typeString() ==
"QMJsonValueType_Double");
127 QVERIFY(value29->typeString() ==
"QMJsonValueType_Double");
128 QVERIFY(value30->typeString() ==
"QMJsonValueType_Double");
129 QVERIFY(value31->typeString() ==
"QMJsonValueType_Double");
130 QVERIFY(value32->typeString() ==
"QMJsonValueType_Double");
131 QVERIFY(value33->typeString() ==
"QMJsonValueType_Double");
132 QVERIFY(value34->typeString() ==
"QMJsonValueType_Double");
135 void TestJson::QMJsonValue_file(
void)
137 auto object1 = QMPointer<QMJsonObject>(
new QMJsonObject());
138 auto value1 = QMPointer<QMJsonValue>(
new QMJsonValue(
true));
139 auto value2 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8));
140 auto value3 = QMPointer<QMJsonValue>(
new QMJsonValue(
"Hello World"));
141 auto document1 = QMPointer<QMJsonValue>(
new QMJsonValue(object1));
143 object1->insert(
"key1", value1);
144 object1->insert(
"key2", value2);
145 object1->insert(
"key3", value3);
147 QVERIFY(document1->toJsonFile(
"test.json") ==
true);
151 QVERIFY(document2.isNull() ==
false);
156 void TestJson::QMJsonValue_sort(
void)
158 auto object1 = QMPointer<QMJsonObject>(
new QMJsonObject());
159 auto object2 = QMPointer<QMJsonObject>(
new QMJsonObject());
160 auto object3 = QMPointer<QMJsonObject>(
new QMJsonObject());
161 auto object4 = QMPointer<QMJsonObject>(
new QMJsonObject());
162 auto object5 = QMPointer<QMJsonObject>(
new QMJsonObject());
163 auto object6 = QMPointer<QMJsonObject>(
new QMJsonObject());
164 auto value1 = QMPointer<QMJsonValue>(
new QMJsonValue(
true));
165 auto value2 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8));
166 auto value3 = QMPointer<QMJsonValue>(
new QMJsonValue(
"Hello World"));
167 auto document1 = QMPointer<QMJsonValue>(
new QMJsonValue(object5));
168 auto document2 = QMPointer<QMJsonValue>(
new QMJsonValue(object6));
170 object1->insert(
"apple", value1);
171 object1->insert(
"Baseball", value2);
172 object1->insert(
"cat", value3);
174 object2->insert(
"Baseball", value2);
175 object2->insert(
"apple", value1);
176 object2->insert(
"cat", value3);
178 object3->insert(
"cat", value3);
179 object3->insert(
"apple", value1);
180 object3->insert(
"Baseball", value2);
182 object4->insert(
"cat", value3);
183 object4->insert(
"Baseball", value2);
184 object4->insert(
"apple", value1);
186 object5->insert(
"dog", object1);
187 object5->insert(
"evil", object2);
189 object6->insert(
"evil", object4);
190 object6->insert(
"dog", object3);
202 void TestJson::QMJsonValue_bool(
void)
204 auto value00 = QMPointer<QMJsonValue>(
new QMJsonValue());
205 auto value01 = QMPointer<QMJsonValue>(
new QMJsonValue(
true));
206 auto value02 = QMPointer<QMJsonValue>(
new QMJsonValue(
false));
207 auto value03 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8));
208 auto value04 = QMPointer<QMJsonValue>(
new QMJsonValue(0));
209 auto value05 = QMPointer<QMJsonValue>(
new QMJsonValue(
"true"));
210 auto value06 = QMPointer<QMJsonValue>(
new QMJsonValue(
"false"));
211 auto value07 = QMPointer<QMJsonValue>(
new QMJsonValue(
"Hello World"));
214 auto value10 = QMPointer<QMJsonValue>(
new QMJsonValue(QRect()));
216 QVERIFY(value00->isBool() ==
false);
217 QVERIFY(value01->isBool() ==
true);
218 QVERIFY(value02->isBool() ==
true);
219 QVERIFY(value03->isBool() ==
false);
220 QVERIFY(value04->isBool() ==
false);
221 QVERIFY(value05->isBool() ==
false);
222 QVERIFY(value06->isBool() ==
false);
223 QVERIFY(value07->isBool() ==
false);
224 QVERIFY(value08->isBool() ==
false);
225 QVERIFY(value09->isBool() ==
false);
226 QVERIFY(value10->isBool() ==
false);
228 QVERIFY(value00->toBool() ==
false);
229 QVERIFY(value01->toBool() ==
true);
230 QVERIFY(value02->toBool() ==
false);
231 QVERIFY(value03->toBool() ==
true);
232 QVERIFY(value04->toBool() ==
false);
233 QVERIFY(value05->toBool() ==
true);
234 QVERIFY(value06->toBool() ==
false);
235 QVERIFY(value07->toBool() ==
false);
236 QVERIFY(value08->toBool() ==
false);
237 QVERIFY(value09->toBool() ==
false);
238 QVERIFY(value10->toBool() ==
false);
240 QVERIFY(value00->toBool(
true) ==
true);
241 QVERIFY(value01->toBool(
true) ==
true);
242 QVERIFY(value02->toBool(
true) ==
false);
243 QVERIFY(value03->toBool(
true) ==
true);
244 QVERIFY(value04->toBool(
true) ==
true);
245 QVERIFY(value05->toBool(
true) ==
true);
246 QVERIFY(value06->toBool(
true) ==
true);
247 QVERIFY(value07->toBool(
true) ==
true);
248 QVERIFY(value08->toBool(
true) ==
true);
249 QVERIFY(value09->toBool(
true) ==
true);
250 QVERIFY(value10->toBool(
true) ==
true);
252 QVERIFY(value00->to<
bool>(
true) ==
true);
253 QVERIFY(value01->to<
bool>(
true) ==
true);
254 QVERIFY(value02->to<
bool>(
true) ==
false);
255 QVERIFY(value03->to<
bool>(
true) ==
true);
256 QVERIFY(value04->to<
bool>(
true) ==
true);
257 QVERIFY(value05->to<
bool>(
true) ==
true);
258 QVERIFY(value06->to<
bool>(
true) ==
true);
259 QVERIFY(value07->to<
bool>(
true) ==
true);
260 QVERIFY(value08->to<
bool>(
true) ==
true);
261 QVERIFY(value09->to<
bool>(
true) ==
true);
262 QVERIFY(value10->to<
bool>(
true) ==
true);
264 QVERIFY(value00->fromBool(
true) ==
false);
265 QVERIFY(value01->fromBool(
true) ==
true);
266 QVERIFY(value02->fromBool(
false) ==
true);
267 QVERIFY(value03->fromBool(
true) ==
true);
268 QVERIFY(value04->fromBool(
false) ==
true);
269 QVERIFY(value05->fromBool(
true) ==
true);
270 QVERIFY(value06->fromBool(
false) ==
true);
271 QVERIFY(value07->fromBool(
true) ==
true);
272 QVERIFY(value08->fromBool(
true) ==
false);
273 QVERIFY(value09->fromBool(
true) ==
false);
274 QVERIFY(value10->fromBool(
true) ==
false);
276 QVERIFY(value01->toBool() ==
true);
277 QVERIFY(value02->toBool() ==
false);
278 QVERIFY(value03->toDouble() == 1);
279 QVERIFY(value04->toDouble() == 0);
280 QVERIFY(value05->toString() ==
"true");
281 QVERIFY(value06->toString() ==
"false");
282 QVERIFY(value07->toString() ==
"true");
284 QVERIFY(value00->from<
bool>(
true) ==
false);
285 QVERIFY(value01->from<
bool>(
true) ==
true);
286 QVERIFY(value02->from<
bool>(
true) ==
true);
287 QVERIFY(value03->from<
bool>(
true) ==
false);
288 QVERIFY(value04->from<
bool>(
true) ==
false);
289 QVERIFY(value05->from<
bool>(
true) ==
false);
290 QVERIFY(value06->from<
bool>(
true) ==
false);
291 QVERIFY(value07->from<
bool>(
true) ==
false);
292 QVERIFY(value08->from<
bool>(
true) ==
false);
293 QVERIFY(value09->from<
bool>(
true) ==
false);
294 QVERIFY(value10->from<
bool>(
true) ==
false);
297 void TestJson::QMJsonValue_double(
void)
299 auto value00 = QMPointer<QMJsonValue>(
new QMJsonValue());
300 auto value01 = QMPointer<QMJsonValue>(
new QMJsonValue(
true));
301 auto value02 = QMPointer<QMJsonValue>(
new QMJsonValue(
false));
302 auto value03 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8));
303 auto value04 = QMPointer<QMJsonValue>(
new QMJsonValue(
"4.8"));
304 auto value05 = QMPointer<QMJsonValue>(
new QMJsonValue(
"Hello World"));
307 auto value08 = QMPointer<QMJsonValue>(
new QMJsonValue(QRect()));
308 auto value09 = QMPointer<QMJsonValue>(
new QMJsonValue((
float)4.8));
309 auto value10 = QMPointer<QMJsonValue>(
new QMJsonValue((int8_t)15));
310 auto value11 = QMPointer<QMJsonValue>(
new QMJsonValue((uint8_t)16));
311 auto value12 = QMPointer<QMJsonValue>(
new QMJsonValue((int16_t)23));
312 auto value13 = QMPointer<QMJsonValue>(
new QMJsonValue((uint16_t)42));
313 auto value14 = QMPointer<QMJsonValue>(
new QMJsonValue((int32_t)4));
314 auto value15 = QMPointer<QMJsonValue>(
new QMJsonValue((uint32_t)8));
315 auto value16 = QMPointer<QMJsonValue>(
new QMJsonValue((int64_t)15));
316 auto value17 = QMPointer<QMJsonValue>(
new QMJsonValue((uint64_t)16));
318 QVERIFY(value00->isDouble() ==
false);
319 QVERIFY(value01->isDouble() ==
false);
320 QVERIFY(value02->isDouble() ==
false);
321 QVERIFY(value03->isDouble() ==
true);
322 QVERIFY(value04->isDouble() ==
false);
323 QVERIFY(value05->isDouble() ==
false);
324 QVERIFY(value06->isDouble() ==
false);
325 QVERIFY(value07->isDouble() ==
false);
326 QVERIFY(value08->isDouble() ==
false);
327 QVERIFY(value09->isDouble() ==
true);
328 QVERIFY(value10->isDouble() ==
true);
329 QVERIFY(value11->isDouble() ==
true);
330 QVERIFY(value12->isDouble() ==
true);
331 QVERIFY(value13->isDouble() ==
true);
332 QVERIFY(value14->isDouble() ==
true);
333 QVERIFY(value15->isDouble() ==
true);
334 QVERIFY(value16->isDouble() ==
true);
335 QVERIFY(value17->isDouble() ==
true);
337 QVERIFY(value00->toDouble() == 0);
338 QVERIFY(value01->toDouble() == 1);
339 QVERIFY(value02->toDouble() == 0);
340 QVERIFY(value03->toDouble() == 4.8);
341 QVERIFY(value04->toDouble() == 4.8);
342 QVERIFY(value05->toDouble() == 0);
343 QVERIFY(value06->toDouble() == 0);
344 QVERIFY(value07->toDouble() == 0);
345 QVERIFY(value08->toDouble() == 0);
346 QVERIFY(value09->toDouble() == (float)4.8);
347 QVERIFY(value10->toDouble() == 15);
348 QVERIFY(value11->toDouble() == 16);
349 QVERIFY(value12->toDouble() == 23);
350 QVERIFY(value13->toDouble() == 42);
351 QVERIFY(value14->toDouble() == 4);
352 QVERIFY(value15->toDouble() == 8);
353 QVERIFY(value16->toDouble() == 15);
354 QVERIFY(value17->toDouble() == 16);
356 QVERIFY(value00->toDouble(15.16) == 15.16);
357 QVERIFY(value01->toDouble(15.16) == 15.16);
358 QVERIFY(value02->toDouble(15.16) == 15.16);
359 QVERIFY(value03->toDouble(15.16) == 4.8);
360 QVERIFY(value04->toDouble(15.16) == 15.16);
361 QVERIFY(value05->toDouble(15.16) == 15.16);
362 QVERIFY(value06->toDouble(15.16) == 15.16);
363 QVERIFY(value07->toDouble(15.16) == 15.16);
364 QVERIFY(value08->toDouble(15.16) == 15.16);
365 QVERIFY(value09->toDouble(15.16) == (float)4.8);
366 QVERIFY(value10->toDouble(15.16) == 15);
367 QVERIFY(value11->toDouble(15.16) == 16);
368 QVERIFY(value12->toDouble(15.16) == 23);
369 QVERIFY(value13->toDouble(15.16) == 42);
370 QVERIFY(value14->toDouble(15.16) == 4);
371 QVERIFY(value15->toDouble(15.16) == 8);
372 QVERIFY(value16->toDouble(15.16) == 15);
373 QVERIFY(value17->toDouble(15.16) == 16);
375 QVERIFY(value00->to<
double>(15.16) == 15.16);
376 QVERIFY(value01->to<
double>(15.16) == 15.16);
377 QVERIFY(value02->to<
double>(15.16) == 15.16);
378 QVERIFY(value03->to<
double>(15.16) == 4.8);
379 QVERIFY(value04->to<
double>(15.16) == 15.16);
380 QVERIFY(value05->to<
double>(15.16) == 15.16);
381 QVERIFY(value06->to<
double>(15.16) == 15.16);
382 QVERIFY(value07->to<
double>(15.16) == 15.16);
383 QVERIFY(value08->to<
double>(15.16) == 15.16);
384 QVERIFY(value09->to<
double>(15.16) == (
float)4.8);
385 QVERIFY(value10->to<
double>(15.16) == 15);
386 QVERIFY(value11->to<
double>(15.16) == 16);
387 QVERIFY(value12->to<
double>(15.16) == 23);
388 QVERIFY(value13->to<
double>(15.16) == 42);
389 QVERIFY(value14->to<
double>(15.16) == 4);
390 QVERIFY(value15->to<
double>(15.16) == 8);
391 QVERIFY(value16->to<
double>(15.16) == 15);
392 QVERIFY(value17->to<
double>(15.16) == 16);
394 QVERIFY(value00->fromDouble(4.8) ==
false);
395 QVERIFY(value01->fromDouble(1) ==
true);
396 QVERIFY(value02->fromDouble(0) ==
true);
397 QVERIFY(value03->fromDouble(23.42) ==
true);
398 QVERIFY(value04->fromDouble(4.8) ==
true);
399 QVERIFY(value05->fromDouble(23.42) ==
true);
400 QVERIFY(value06->fromDouble(4.8) ==
false);
401 QVERIFY(value07->fromDouble(4.8) ==
false);
402 QVERIFY(value08->fromDouble(4.8) ==
false);
403 QVERIFY(value09->fromDouble(4.8) ==
true);
404 QVERIFY(value10->fromDouble(4.8) ==
true);
405 QVERIFY(value11->fromDouble(4.8) ==
true);
406 QVERIFY(value12->fromDouble(4.8) ==
true);
407 QVERIFY(value13->fromDouble(4.8) ==
true);
408 QVERIFY(value14->fromDouble(4.8) ==
true);
409 QVERIFY(value15->fromDouble(4.8) ==
true);
410 QVERIFY(value16->fromDouble(4.8) ==
true);
411 QVERIFY(value17->fromDouble(4.8) ==
true);
413 QVERIFY(value01->toBool() ==
true);
414 QVERIFY(value02->toBool() ==
false);
415 QVERIFY(value03->toDouble() == 23.42);
416 QVERIFY(value04->toString() ==
"4.8");
417 QVERIFY(value05->toString() ==
"23.42");
419 QVERIFY(value00->from<
double>(4.8) ==
false);
420 QVERIFY(value01->from<
double>(4.8) ==
false);
421 QVERIFY(value02->from<
double>(4.8) ==
false);
422 QVERIFY(value03->from<
double>(4.8) ==
true);
423 QVERIFY(value04->from<
double>(4.8) ==
false);
424 QVERIFY(value05->from<
double>(4.8) ==
false);
425 QVERIFY(value06->from<
double>(4.8) ==
false);
426 QVERIFY(value07->from<
double>(4.8) ==
false);
427 QVERIFY(value08->from<
double>(4.8) ==
false);
428 QVERIFY(value09->from<
double>(4.8) ==
true);
429 QVERIFY(value10->from<
double>(4.8) ==
true);
430 QVERIFY(value11->from<
double>(4.8) ==
true);
431 QVERIFY(value12->from<
double>(4.8) ==
true);
432 QVERIFY(value13->from<
double>(4.8) ==
true);
433 QVERIFY(value14->from<
double>(4.8) ==
true);
434 QVERIFY(value15->from<
double>(4.8) ==
true);
435 QVERIFY(value16->from<
double>(4.8) ==
true);
436 QVERIFY(value17->from<
double>(4.8) ==
true);
439 void TestJson::QMJsonValue_string(
void)
441 auto value00 = QMPointer<QMJsonValue>(
new QMJsonValue());
442 auto value01 = QMPointer<QMJsonValue>(
new QMJsonValue(
true));
443 auto value02 = QMPointer<QMJsonValue>(
new QMJsonValue(
false));
444 auto value03 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8));
445 auto value04 = QMPointer<QMJsonValue>(
new QMJsonValue(0));
446 auto value05 = QMPointer<QMJsonValue>(
new QMJsonValue(
"true"));
447 auto value06 = QMPointer<QMJsonValue>(
new QMJsonValue(
"false"));
448 auto value07 = QMPointer<QMJsonValue>(
new QMJsonValue(
"Hello World"));
451 auto value10 = QMPointer<QMJsonValue>(
new QMJsonValue(QRect()));
453 QVERIFY(value00->isString() ==
false);
454 QVERIFY(value01->isString() ==
false);
455 QVERIFY(value02->isString() ==
false);
456 QVERIFY(value03->isString() ==
false);
457 QVERIFY(value04->isString() ==
false);
458 QVERIFY(value05->isString() ==
true);
459 QVERIFY(value06->isString() ==
true);
460 QVERIFY(value07->isString() ==
true);
461 QVERIFY(value08->isString() ==
false);
462 QVERIFY(value09->isString() ==
false);
463 QVERIFY(value10->isString() ==
false);
465 QVERIFY(value00->toString() ==
"null");
466 QVERIFY(value01->toString() ==
"true");
467 QVERIFY(value02->toString() ==
"false");
468 QVERIFY(value03->toString() ==
"4.8");
469 QVERIFY(value04->toString() ==
"0");
470 QVERIFY(value05->toString() ==
"true");
471 QVERIFY(value06->toString() ==
"false");
472 QVERIFY(value07->toString() ==
"Hello World");
473 QVERIFY(value08->toString() ==
"");
474 QVERIFY(value09->toString() ==
"");
475 QVERIFY(value10->toString() ==
"");
477 QVERIFY(value00->toString(
"15.16") ==
"15.16");
478 QVERIFY(value01->toString(
"15.16") ==
"15.16");
479 QVERIFY(value02->toString(
"15.16") ==
"15.16");
480 QVERIFY(value03->toString(
"15.16") ==
"15.16");
481 QVERIFY(value04->toString(
"15.16") ==
"15.16");
482 QVERIFY(value05->toString(
"15.16") ==
"true");
483 QVERIFY(value06->toString(
"15.16") ==
"false");
484 QVERIFY(value07->toString(
"15.16") ==
"Hello World");
485 QVERIFY(value08->toString(
"15.16") ==
"15.16");
486 QVERIFY(value09->toString(
"15.16") ==
"15.16");
487 QVERIFY(value10->toString(
"15.16") ==
"15.16");
489 QVERIFY(value00->to<QString>(
"15.16") ==
"15.16");
490 QVERIFY(value01->to<QString>(
"15.16") ==
"15.16");
491 QVERIFY(value02->to<QString>(
"15.16") ==
"15.16");
492 QVERIFY(value03->to<QString>(
"15.16") ==
"15.16");
493 QVERIFY(value04->to<QString>(
"15.16") ==
"15.16");
494 QVERIFY(value05->to<QString>(
"15.16") ==
"true");
495 QVERIFY(value06->to<QString>(
"15.16") ==
"false");
496 QVERIFY(value07->to<QString>(
"15.16") ==
"Hello World");
497 QVERIFY(value08->to<QString>(
"15.16") ==
"15.16");
498 QVERIFY(value09->to<QString>(
"15.16") ==
"15.16");
499 QVERIFY(value10->to<QString>(
"15.16") ==
"15.16");
501 QVERIFY(value00->to<
const char *>(
"15.16") == QString(
"15.16"));
502 QVERIFY(value01->to<
const char *>(
"15.16") == QString(
"15.16"));
503 QVERIFY(value02->to<
const char *>(
"15.16") == QString(
"15.16"));
504 QVERIFY(value03->to<
const char *>(
"15.16") == QString(
"15.16"));
505 QVERIFY(value04->to<
const char *>(
"15.16") == QString(
"15.16"));
506 QVERIFY(value05->to<
const char *>(
"15.16") == QString(
"15.16"));
507 QVERIFY(value06->to<
const char *>(
"15.16") == QString(
"15.16"));
508 QVERIFY(value07->to<
const char *>(
"15.16") == QString(
"15.16"));
509 QVERIFY(value08->to<
const char *>(
"15.16") == QString(
"15.16"));
510 QVERIFY(value09->to<
const char *>(
"15.16") == QString(
"15.16"));
511 QVERIFY(value10->to<
const char *>(
"15.16") == QString(
"15.16"));
513 QVERIFY(value00->fromString(
"Test") ==
false);
514 QVERIFY(value01->fromString(
"true") ==
true);
515 QVERIFY(value02->fromString(
"false") ==
true);
516 QVERIFY(value03->fromString(
"Test") ==
false);
517 QVERIFY(value04->fromString(
"15.16") ==
true);
518 QVERIFY(value05->fromString(
"Test1") ==
true);
519 QVERIFY(value06->fromString(
"Test2") ==
true);
520 QVERIFY(value07->fromString(
"Test3") ==
true);
521 QVERIFY(value08->fromString(
"Test") ==
false);
522 QVERIFY(value09->fromString(
"Test") ==
false);
523 QVERIFY(value10->fromString(
"Test") ==
false);
525 QVERIFY(value01->toBool() ==
true);
526 QVERIFY(value02->toBool() ==
false);
527 QVERIFY(value03->toDouble() == 4.8);
528 QVERIFY(value04->toDouble() == 15.16);
529 QVERIFY(value05->toString() ==
"Test1");
530 QVERIFY(value06->toString() ==
"Test2");
531 QVERIFY(value07->toString() ==
"Test3");
533 QVERIFY(value00->from<QString>(
"Test") ==
false);
534 QVERIFY(value01->from<QString>(
"Test") ==
false);
535 QVERIFY(value02->from<QString>(
"Test") ==
false);
536 QVERIFY(value03->from<QString>(
"Test") ==
false);
537 QVERIFY(value04->from<QString>(
"Test") ==
false);
538 QVERIFY(value05->from<QString>(
"Test") ==
true);
539 QVERIFY(value06->from<QString>(
"Test") ==
true);
540 QVERIFY(value07->from<QString>(
"Test") ==
true);
541 QVERIFY(value08->from<QString>(
"Test") ==
false);
542 QVERIFY(value09->from<QString>(
"Test") ==
false);
543 QVERIFY(value10->from<QString>(
"Test") ==
false);
546 void TestJson::QMJsonValue_array(
void)
548 auto value00 = QMPointer<QMJsonValue>(
new QMJsonValue());
549 auto value01 = QMPointer<QMJsonValue>(
new QMJsonValue(
true));
550 auto value02 = QMPointer<QMJsonValue>(
new QMJsonValue(
false));
551 auto value03 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8));
552 auto value04 = QMPointer<QMJsonValue>(
new QMJsonValue(0));
553 auto value05 = QMPointer<QMJsonValue>(
new QMJsonValue(
"true"));
554 auto value06 = QMPointer<QMJsonValue>(
new QMJsonValue(
"false"));
555 auto value07 = QMPointer<QMJsonValue>(
new QMJsonValue(
"Hello World"));
558 auto value10 = QMPointer<QMJsonValue>(
new QMJsonValue(QRect()));
559 auto array1 = QMPointer<QMJsonArray>(
new QMJsonArray());
561 value08->toArray()->append(value00);
562 value08->toArray()->append(value00);
563 value08->toArray()->append(value00);
565 array1->append(value00);
566 array1->append(value00);
568 QVERIFY(value00->isArray() ==
false);
569 QVERIFY(value01->isArray() ==
false);
570 QVERIFY(value02->isArray() ==
false);
571 QVERIFY(value03->isArray() ==
false);
572 QVERIFY(value04->isArray() ==
false);
573 QVERIFY(value05->isArray() ==
false);
574 QVERIFY(value06->isArray() ==
false);
575 QVERIFY(value07->isArray() ==
false);
576 QVERIFY(value08->isArray() ==
true);
577 QVERIFY(value09->isArray() ==
false);
578 QVERIFY(value10->isArray() ==
false);
580 QVERIFY(value00->toArray()->count() == 0);
581 QVERIFY(value01->toArray()->count() == 0);
582 QVERIFY(value02->toArray()->count() == 0);
583 QVERIFY(value03->toArray()->count() == 0);
584 QVERIFY(value04->toArray()->count() == 0);
585 QVERIFY(value05->toArray()->count() == 0);
586 QVERIFY(value06->toArray()->count() == 0);
587 QVERIFY(value07->toArray()->count() == 0);
588 QVERIFY(value08->toArray()->count() == 3);
589 QVERIFY(value09->toArray()->count() == 0);
590 QVERIFY(value10->toArray()->count() == 0);
592 QVERIFY(value00->toArray(array1)->count() == 2);
593 QVERIFY(value01->toArray(array1)->count() == 2);
594 QVERIFY(value02->toArray(array1)->count() == 2);
595 QVERIFY(value03->toArray(array1)->count() == 2);
596 QVERIFY(value04->toArray(array1)->count() == 2);
597 QVERIFY(value05->toArray(array1)->count() == 2);
598 QVERIFY(value06->toArray(array1)->count() == 2);
599 QVERIFY(value07->toArray(array1)->count() == 2);
600 QVERIFY(value08->toArray(array1)->count() == 3);
601 QVERIFY(value09->toArray(array1)->count() == 2);
602 QVERIFY(value10->toArray(array1)->count() == 2);
604 QVERIFY(value00->to<QMPointer<QMJsonArray> >(array1)->count() == 2);
605 QVERIFY(value01->to<QMPointer<QMJsonArray> >(array1)->count() == 2);
606 QVERIFY(value02->to<QMPointer<QMJsonArray> >(array1)->count() == 2);
607 QVERIFY(value03->to<QMPointer<QMJsonArray> >(array1)->count() == 2);
608 QVERIFY(value04->to<QMPointer<QMJsonArray> >(array1)->count() == 2);
609 QVERIFY(value05->to<QMPointer<QMJsonArray> >(array1)->count() == 2);
610 QVERIFY(value06->to<QMPointer<QMJsonArray> >(array1)->count() == 2);
611 QVERIFY(value07->to<QMPointer<QMJsonArray> >(array1)->count() == 2);
612 QVERIFY(value08->to<QMPointer<QMJsonArray> >(array1)->count() == 3);
613 QVERIFY(value09->to<QMPointer<QMJsonArray> >(array1)->count() == 2);
614 QVERIFY(value10->to<QMPointer<QMJsonArray> >(array1)->count() == 2);
616 QVERIFY(value00->fromArray(QMPointer<QMJsonArray>()) ==
false);
617 QVERIFY(value01->fromArray(QMPointer<QMJsonArray>()) ==
false);
618 QVERIFY(value02->fromArray(QMPointer<QMJsonArray>()) ==
false);
619 QVERIFY(value03->fromArray(QMPointer<QMJsonArray>()) ==
false);
620 QVERIFY(value04->fromArray(QMPointer<QMJsonArray>()) ==
false);
621 QVERIFY(value05->fromArray(QMPointer<QMJsonArray>()) ==
false);
622 QVERIFY(value06->fromArray(QMPointer<QMJsonArray>()) ==
false);
623 QVERIFY(value07->fromArray(QMPointer<QMJsonArray>()) ==
false);
624 QVERIFY(value08->fromArray(QMPointer<QMJsonArray>()) ==
true);
625 QVERIFY(value09->fromArray(QMPointer<QMJsonArray>()) ==
false);
626 QVERIFY(value10->fromArray(QMPointer<QMJsonArray>()) ==
false);
628 QVERIFY(value00->from<QMPointer<QMJsonArray> >(QMPointer<QMJsonArray>()) ==
false);
629 QVERIFY(value01->from<QMPointer<QMJsonArray> >(QMPointer<QMJsonArray>()) ==
false);
630 QVERIFY(value02->from<QMPointer<QMJsonArray> >(QMPointer<QMJsonArray>()) ==
false);
631 QVERIFY(value03->from<QMPointer<QMJsonArray> >(QMPointer<QMJsonArray>()) ==
false);
632 QVERIFY(value04->from<QMPointer<QMJsonArray> >(QMPointer<QMJsonArray>()) ==
false);
633 QVERIFY(value05->from<QMPointer<QMJsonArray> >(QMPointer<QMJsonArray>()) ==
false);
634 QVERIFY(value06->from<QMPointer<QMJsonArray> >(QMPointer<QMJsonArray>()) ==
false);
635 QVERIFY(value07->from<QMPointer<QMJsonArray> >(QMPointer<QMJsonArray>()) ==
false);
636 QVERIFY(value08->from<QMPointer<QMJsonArray> >(QMPointer<QMJsonArray>()) ==
false);
637 QVERIFY(value09->from<QMPointer<QMJsonArray> >(QMPointer<QMJsonArray>()) ==
false);
638 QVERIFY(value10->from<QMPointer<QMJsonArray> >(QMPointer<QMJsonArray>()) ==
false);
641 void TestJson::QMJsonValue_object(
void)
643 auto value00 = QMPointer<QMJsonValue>(
new QMJsonValue());
644 auto value01 = QMPointer<QMJsonValue>(
new QMJsonValue(
true));
645 auto value02 = QMPointer<QMJsonValue>(
new QMJsonValue(
false));
646 auto value03 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8));
647 auto value04 = QMPointer<QMJsonValue>(
new QMJsonValue(0));
648 auto value05 = QMPointer<QMJsonValue>(
new QMJsonValue(
"true"));
649 auto value06 = QMPointer<QMJsonValue>(
new QMJsonValue(
"false"));
650 auto value07 = QMPointer<QMJsonValue>(
new QMJsonValue(
"Hello World"));
653 auto value10 = QMPointer<QMJsonValue>(
new QMJsonValue(QRect()));
654 auto object1 = QMPointer<QMJsonObject>(
new QMJsonObject());
656 value09->toObject()->insert(
"key1", value00);
657 value09->toObject()->insert(
"key2", value00);
658 value09->toObject()->insert(
"key3", value00);
660 object1->insert(
"key1", value00);
661 object1->insert(
"key2", value00);
663 QVERIFY(value00->isObject() ==
false);
664 QVERIFY(value01->isObject() ==
false);
665 QVERIFY(value02->isObject() ==
false);
666 QVERIFY(value03->isObject() ==
false);
667 QVERIFY(value04->isObject() ==
false);
668 QVERIFY(value05->isObject() ==
false);
669 QVERIFY(value06->isObject() ==
false);
670 QVERIFY(value07->isObject() ==
false);
671 QVERIFY(value08->isObject() ==
false);
672 QVERIFY(value09->isObject() ==
true);
673 QVERIFY(value10->isObject() ==
false);
675 QVERIFY(value00->toObject()->count() == 0);
676 QVERIFY(value01->toObject()->count() == 0);
677 QVERIFY(value02->toObject()->count() == 0);
678 QVERIFY(value03->toObject()->count() == 0);
679 QVERIFY(value04->toObject()->count() == 0);
680 QVERIFY(value05->toObject()->count() == 0);
681 QVERIFY(value06->toObject()->count() == 0);
682 QVERIFY(value07->toObject()->count() == 0);
683 QVERIFY(value08->toObject()->count() == 0);
684 QVERIFY(value09->toObject()->count() == 3);
685 QVERIFY(value10->toObject()->count() == 0);
687 QVERIFY(value00->toObject(object1)->count() == 2);
688 QVERIFY(value01->toObject(object1)->count() == 2);
689 QVERIFY(value02->toObject(object1)->count() == 2);
690 QVERIFY(value03->toObject(object1)->count() == 2);
691 QVERIFY(value04->toObject(object1)->count() == 2);
692 QVERIFY(value05->toObject(object1)->count() == 2);
693 QVERIFY(value06->toObject(object1)->count() == 2);
694 QVERIFY(value07->toObject(object1)->count() == 2);
695 QVERIFY(value08->toObject(object1)->count() == 2);
696 QVERIFY(value09->toObject(object1)->count() == 3);
697 QVERIFY(value10->toObject(object1)->count() == 2);
699 QVERIFY(value00->to<QMPointer<QMJsonObject> >(object1)->count() == 2);
700 QVERIFY(value01->to<QMPointer<QMJsonObject> >(object1)->count() == 2);
701 QVERIFY(value02->to<QMPointer<QMJsonObject> >(object1)->count() == 2);
702 QVERIFY(value03->to<QMPointer<QMJsonObject> >(object1)->count() == 2);
703 QVERIFY(value04->to<QMPointer<QMJsonObject> >(object1)->count() == 2);
704 QVERIFY(value05->to<QMPointer<QMJsonObject> >(object1)->count() == 2);
705 QVERIFY(value06->to<QMPointer<QMJsonObject> >(object1)->count() == 2);
706 QVERIFY(value07->to<QMPointer<QMJsonObject> >(object1)->count() == 2);
707 QVERIFY(value08->to<QMPointer<QMJsonObject> >(object1)->count() == 2);
708 QVERIFY(value09->to<QMPointer<QMJsonObject> >(object1)->count() == 3);
709 QVERIFY(value10->to<QMPointer<QMJsonObject> >(object1)->count() == 2);
711 QVERIFY(value00->fromObject(QMPointer<QMJsonObject>()) ==
false);
712 QVERIFY(value01->fromObject(QMPointer<QMJsonObject>()) ==
false);
713 QVERIFY(value02->fromObject(QMPointer<QMJsonObject>()) ==
false);
714 QVERIFY(value03->fromObject(QMPointer<QMJsonObject>()) ==
false);
715 QVERIFY(value04->fromObject(QMPointer<QMJsonObject>()) ==
false);
716 QVERIFY(value05->fromObject(QMPointer<QMJsonObject>()) ==
false);
717 QVERIFY(value06->fromObject(QMPointer<QMJsonObject>()) ==
false);
718 QVERIFY(value07->fromObject(QMPointer<QMJsonObject>()) ==
false);
719 QVERIFY(value08->fromObject(QMPointer<QMJsonObject>()) ==
false);
720 QVERIFY(value09->fromObject(QMPointer<QMJsonObject>()) ==
true);
721 QVERIFY(value10->fromObject(QMPointer<QMJsonObject>()) ==
false);
723 QVERIFY(value00->from<QMPointer<QMJsonObject> >(QMPointer<QMJsonObject>()) ==
false);
724 QVERIFY(value01->from<QMPointer<QMJsonObject> >(QMPointer<QMJsonObject>()) ==
false);
725 QVERIFY(value02->from<QMPointer<QMJsonObject> >(QMPointer<QMJsonObject>()) ==
false);
726 QVERIFY(value03->from<QMPointer<QMJsonObject> >(QMPointer<QMJsonObject>()) ==
false);
727 QVERIFY(value04->from<QMPointer<QMJsonObject> >(QMPointer<QMJsonObject>()) ==
false);
728 QVERIFY(value05->from<QMPointer<QMJsonObject> >(QMPointer<QMJsonObject>()) ==
false);
729 QVERIFY(value06->from<QMPointer<QMJsonObject> >(QMPointer<QMJsonObject>()) ==
false);
730 QVERIFY(value07->from<QMPointer<QMJsonObject> >(QMPointer<QMJsonObject>()) ==
false);
731 QVERIFY(value08->from<QMPointer<QMJsonObject> >(QMPointer<QMJsonObject>()) ==
false);
732 QVERIFY(value09->from<QMPointer<QMJsonObject> >(QMPointer<QMJsonObject>()) ==
false);
733 QVERIFY(value10->from<QMPointer<QMJsonObject> >(QMPointer<QMJsonObject>()) ==
false);
736 void TestJson::QMJsonValue_custom(
void)
738 auto value00 = QMPointer<QMJsonValue>(
new QMJsonValue());
739 auto value01 = QMPointer<QMJsonValue>(
new QMJsonValue(
true));
740 auto value02 = QMPointer<QMJsonValue>(
new QMJsonValue(
false));
741 auto value03 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8));
742 auto value04 = QMPointer<QMJsonValue>(
new QMJsonValue(0));
743 auto value05 = QMPointer<QMJsonValue>(
new QMJsonValue(
"true"));
744 auto value06 = QMPointer<QMJsonValue>(
new QMJsonValue(
"false"));
745 auto value07 = QMPointer<QMJsonValue>(
new QMJsonValue(
"Hello World"));
748 auto value10 = QMPointer<QMJsonValue>(
new QMJsonValue(QSize()));
750 QVERIFY(value00->is<QSize>() ==
false);
751 QVERIFY(value01->is<QSize>() ==
false);
752 QVERIFY(value02->is<QSize>() ==
false);
753 QVERIFY(value03->is<QSize>() ==
false);
754 QVERIFY(value04->is<QSize>() ==
false);
755 QVERIFY(value05->is<QSize>() ==
false);
756 QVERIFY(value06->is<QSize>() ==
false);
757 QVERIFY(value07->is<QSize>() ==
false);
758 QVERIFY(value08->is<QSize>() ==
false);
759 QVERIFY(value09->is<QSize>() ==
false);
760 QVERIFY(value10->is<QSize>() ==
true);
762 QVERIFY(value00->to<QSize>(QSize(10, 10)) == QSize(10, 10));
763 QVERIFY(value01->to<QSize>(QSize(10, 10)) == QSize(10, 10));
764 QVERIFY(value02->to<QSize>(QSize(10, 10)) == QSize(10, 10));
765 QVERIFY(value03->to<QSize>(QSize(10, 10)) == QSize(10, 10));
766 QVERIFY(value04->to<QSize>(QSize(10, 10)) == QSize(10, 10));
767 QVERIFY(value05->to<QSize>(QSize(10, 10)) == QSize(10, 10));
768 QVERIFY(value06->to<QSize>(QSize(10, 10)) == QSize(10, 10));
769 QVERIFY(value07->to<QSize>(QSize(10, 10)) == QSize(10, 10));
770 QVERIFY(value08->to<QSize>(QSize(10, 10)) == QSize(10, 10));
771 QVERIFY(value09->to<QSize>(QSize(10, 10)) == QSize(10, 10));
772 QVERIFY(value10->to<QSize>(QSize(10, 10)) == QSize());
774 QVERIFY(value00->from<QSize>(QSize()) ==
false);
775 QVERIFY(value01->from<QSize>(QSize()) ==
false);
776 QVERIFY(value02->from<QSize>(QSize()) ==
false);
777 QVERIFY(value03->from<QSize>(QSize()) ==
false);
778 QVERIFY(value04->from<QSize>(QSize()) ==
false);
779 QVERIFY(value05->from<QSize>(QSize()) ==
false);
780 QVERIFY(value06->from<QSize>(QSize()) ==
false);
781 QVERIFY(value07->from<QSize>(QSize()) ==
false);
782 QVERIFY(value08->from<QSize>(QSize()) ==
false);
783 QVERIFY(value09->from<QSize>(QSize()) ==
false);
784 QVERIFY(value10->from<QSize>(QSize()) ==
true);
788 void TestJson::QMJsonValue_value(
void)
790 auto value01 = QMPointer<QMJsonValue>(
new QMJsonValue(
true));
791 auto value02 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8));
792 auto array1 = QMPointer<QMJsonArray>(
new QMJsonArray());
793 auto array2 = QMPointer<QMJsonArray>(
new QMJsonArray());
794 auto object1 = QMPointer<QMJsonObject>(
new QMJsonObject());
795 auto object2 = QMPointer<QMJsonObject>(
new QMJsonObject());
796 auto value03 = QMPointer<QMJsonValue>(
new QMJsonValue(object1));
798 object1->insert(
"array1", array1);
799 object2->insert(
"array2", array2);
800 array1->append(object2);
801 array2->append(value01);
802 array2->append(value02);
803 array2->append(value03);
805 QVERIFY(value03->value(
"array1")->value(0)->value(
"array2")->value(0)->toBool() ==
true);
806 QVERIFY(value03->value(
"array1")->value(0)->value(
"array2")->value(1)->toDouble() == 4.8);
809 void TestJson::QMJsonValue_from(
void)
811 auto value00 = QMPointer<QMJsonValue>(
new QMJsonValue());
812 auto value01 = QMPointer<QMJsonValue>(
new QMJsonValue(
true));
813 auto value02 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8));
814 auto value03 = QMPointer<QMJsonValue>(
new QMJsonValue(
"Hello World"));
817 auto value06 = QMPointer<QMJsonValue>(
new QMJsonValue(QRect()));
819 auto value10 = QMPointer<QMJsonValue>(
new QMJsonValue());
820 auto value11 = QMPointer<QMJsonValue>(
new QMJsonValue(
true));
821 auto value12 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8));
822 auto value13 = QMPointer<QMJsonValue>(
new QMJsonValue(
"Hello World"));
825 auto value16 = QMPointer<QMJsonValue>(
new QMJsonValue(QRect()));
827 QVERIFY(value00->from(value10) ==
true);
828 QVERIFY(value00->from(value11) ==
false);
829 QVERIFY(value00->from(value12) ==
false);
830 QVERIFY(value00->from(value13) ==
false);
831 QVERIFY(value00->from(value14) ==
false);
832 QVERIFY(value00->from(value15) ==
false);
833 QVERIFY(value00->from(value16) ==
false);
835 QVERIFY(value01->from(value10) ==
true);
836 QVERIFY(value01->toBool() ==
false);
837 QVERIFY(value01->from(value11) ==
true);
838 QVERIFY(value01->toBool() ==
true);
839 QVERIFY(value01->from(value12) ==
true);
840 QVERIFY(value01->toBool() ==
true);
841 QVERIFY(value01->from(value13) ==
true);
842 QVERIFY(value01->toBool() ==
false);
843 QVERIFY(value01->from(value14) ==
true);
844 QVERIFY(value01->toBool() ==
false);
845 QVERIFY(value01->from(value15) ==
true);
846 QVERIFY(value01->toBool() ==
false);
847 QVERIFY(value01->from(value16) ==
false);
848 QVERIFY(value01->toBool() ==
false);
850 QVERIFY(value02->from(value10) ==
true);
851 QVERIFY(value02->toDouble() == 0);
852 QVERIFY(value02->from(value11) ==
true);
853 QVERIFY(value02->toDouble() == 1);
854 QVERIFY(value02->from(value12) ==
true);
855 QVERIFY(value02->toDouble() == 4.8);
856 QVERIFY(value02->from(value13) ==
true);
857 QVERIFY(value02->toDouble() == 0);
858 QVERIFY(value02->from(value14) ==
true);
859 QVERIFY(value02->toDouble() == 0);
860 QVERIFY(value02->from(value15) ==
true);
861 QVERIFY(value02->toDouble() == 0);
862 QVERIFY(value02->from(value16) ==
false);
863 QVERIFY(value02->toDouble() == 0);
865 QVERIFY(value03->from(value10) ==
true);
866 QVERIFY(value03->toString() ==
"null");
867 QVERIFY(value03->from(value11) ==
true);
868 QVERIFY(value03->toString() ==
"true");
869 QVERIFY(value03->from(value12) ==
true);
870 QVERIFY(value03->toString() ==
"4.8");
871 QVERIFY(value03->from(value13) ==
true);
872 QVERIFY(value03->toString() ==
"Hello World");
873 QVERIFY(value03->from(value14) ==
true);
874 QVERIFY(value03->toString() ==
"");
875 QVERIFY(value03->from(value15) ==
true);
876 QVERIFY(value03->toString() ==
"");
877 QVERIFY(value03->from(value16) ==
false);
878 QVERIFY(value03->toString() ==
"");
880 QVERIFY(value04->from(value10) ==
true);
881 QVERIFY(value04->from(value11) ==
true);
882 QVERIFY(value04->from(value12) ==
true);
883 QVERIFY(value04->from(value13) ==
true);
884 QVERIFY(value04->from(value14) ==
true);
885 QVERIFY(value04->from(value15) ==
true);
886 QVERIFY(value04->from(value16) ==
false);
888 QVERIFY(value05->from(value10) ==
true);
889 QVERIFY(value05->from(value11) ==
true);
890 QVERIFY(value05->from(value12) ==
true);
891 QVERIFY(value05->from(value13) ==
true);
892 QVERIFY(value05->from(value14) ==
true);
893 QVERIFY(value05->from(value15) ==
true);
894 QVERIFY(value05->from(value16) ==
false);
896 QVERIFY(value06->from(value10) ==
false);
897 QVERIFY(value06->from(value11) ==
false);
898 QVERIFY(value06->from(value12) ==
false);
899 QVERIFY(value06->from(value13) ==
false);
900 QVERIFY(value06->from(value14) ==
false);
901 QVERIFY(value06->from(value15) ==
false);
902 QVERIFY(value06->from(value16) ==
false);
905 void TestJson::QMJsonValue_variant(
void)
907 auto variant0 = QVariant();
908 auto variant1 = QVariant(
true);
909 auto variant2 = QVariant(4.8);
910 auto variant3 = QVariant(
"Hello World");
911 auto variant4 = QVariant(QVariantList());
912 auto variant5 = QVariant(QVariantHash());
921 QVERIFY(value0->toVariant() == variant0);
922 QVERIFY(value1->toVariant() == variant1);
923 QVERIFY(value2->toVariant() == variant2);
924 QVERIFY(value3->toVariant() == variant3);
925 QVERIFY(value4->toVariant() == variant4);
926 QVERIFY(value5->toVariant() == variant5);
929 void TestJson::QMJsonValue_signals(
void)
931 auto value01 = QMPointer<QMJsonValue>(
new QMJsonValue(
true));
932 auto value02 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8));
933 auto value03 = QMPointer<QMJsonValue>(
new QMJsonValue(
"Hello World"));
936 auto value06 = QMPointer<QMJsonValue>(
new QMJsonValue(QSize()));
946 value01->fromBool(
true);
947 value01->from<
bool>(
true);
948 QVERIFY(mCount == 2);
951 value02->fromDouble(4.8);
952 value02->from<
double>(4.8);
953 QVERIFY(mCount == 2);
956 value03->fromString(
"Test");
957 value03->from<QString>(
"Test");
958 QVERIFY(mCount == 2);
961 value04->fromArray(QMPointer<QMJsonArray>());
962 value04->from<QMPointer<QMJsonArray> >(QMPointer<QMJsonArray>());
963 QVERIFY(mCount == 1);
966 value05->fromObject(QMPointer<QMJsonObject>());
967 value05->from<QMPointer<QMJsonObject> >(QMPointer<QMJsonObject>());
968 QVERIFY(mCount == 1);
971 value06->from<QSize>(QSize());
972 QVERIFY(mCount == 1);
975 void TestJson::QMJsonValue_tofromjson_null(
void)
977 auto value00 = QMPointer<QMJsonValue>(
new QMJsonValue());
982 QVERIFY(ojson00 ==
"null");
983 QVERIFY(pjson00 ==
"null");
989 void TestJson::QMJsonValue_tofromjson_bool(
void)
991 auto value00 = QMPointer<QMJsonValue>(
new QMJsonValue(
true));
992 auto value01 = QMPointer<QMJsonValue>(
new QMJsonValue(
false));
999 QVERIFY(ojson00 ==
"true");
1000 QVERIFY(ojson01 ==
"false");
1001 QVERIFY(pjson00 ==
"true");
1002 QVERIFY(pjson01 ==
"false");
1010 void TestJson::QMJsonValue_tofromjson_double(
void)
1012 auto value00 = QMPointer<QMJsonValue>(
new QMJsonValue(0));
1013 auto value01 = QMPointer<QMJsonValue>(
new QMJsonValue(-.48));
1014 auto value02 = QMPointer<QMJsonValue>(
new QMJsonValue(-0.48));
1015 auto value03 = QMPointer<QMJsonValue>(
new QMJsonValue(-4));
1016 auto value04 = QMPointer<QMJsonValue>(
new QMJsonValue(-4.8));
1017 auto value05 = QMPointer<QMJsonValue>(
new QMJsonValue(-4.8e2));
1018 auto value06 = QMPointer<QMJsonValue>(
new QMJsonValue(-4.8e-2));
1019 auto value07 = QMPointer<QMJsonValue>(
new QMJsonValue(-4.8e+2));
1020 auto value08 = QMPointer<QMJsonValue>(
new QMJsonValue(-4.8e15));
1021 auto value09 = QMPointer<QMJsonValue>(
new QMJsonValue(-4.8e-15));
1022 auto value10 = QMPointer<QMJsonValue>(
new QMJsonValue(-4.8e+15));
1023 auto value11 = QMPointer<QMJsonValue>(
new QMJsonValue(.48));
1024 auto value12 = QMPointer<QMJsonValue>(
new QMJsonValue(0.48));
1025 auto value13 = QMPointer<QMJsonValue>(
new QMJsonValue(4));
1026 auto value14 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8));
1027 auto value15 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8e2));
1028 auto value16 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8e-2));
1029 auto value17 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8e+2));
1030 auto value18 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8e15));
1031 auto value19 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8e-15));
1032 auto value20 = QMPointer<QMJsonValue>(
new QMJsonValue(4.8e+15));
1078 QVERIFY(ojson00 ==
"0");
1079 QVERIFY(ojson01 ==
"-0.48");
1080 QVERIFY(ojson02 ==
"-0.48");
1081 QVERIFY(ojson03 ==
"-4");
1082 QVERIFY(ojson04 ==
"-4.8");
1083 QVERIFY(ojson05 ==
"-480");
1084 QVERIFY(ojson06 ==
"-0.048");
1085 QVERIFY(ojson07 ==
"-480");
1086 QVERIFY(ojson08 ==
"-4.8e+15");
1087 QVERIFY(ojson09 ==
"-4.8e-15");
1088 QVERIFY(ojson10 ==
"-4.8e+15");
1089 QVERIFY(ojson11 ==
"0.48");
1090 QVERIFY(ojson12 ==
"0.48");
1091 QVERIFY(ojson13 ==
"4");
1092 QVERIFY(ojson14 ==
"4.8");
1093 QVERIFY(ojson15 ==
"480");
1094 QVERIFY(ojson16 ==
"0.048");
1095 QVERIFY(ojson17 ==
"480");
1096 QVERIFY(ojson18 ==
"4.8e+15");
1097 QVERIFY(ojson19 ==
"4.8e-15");
1098 QVERIFY(ojson20 ==
"4.8e+15");
1100 QVERIFY(pjson00 ==
"0");
1101 QVERIFY(pjson01 ==
"-0.48");
1102 QVERIFY(pjson02 ==
"-0.48");
1103 QVERIFY(pjson03 ==
"-4");
1104 QVERIFY(pjson04 ==
"-4.8");
1105 QVERIFY(pjson05 ==
"-480");
1106 QVERIFY(pjson06 ==
"-0.048");
1107 QVERIFY(pjson07 ==
"-480");
1108 QVERIFY(pjson08 ==
"-4.8e+15");
1109 QVERIFY(pjson09 ==
"-4.8e-15");
1110 QVERIFY(pjson10 ==
"-4.8e+15");
1111 QVERIFY(pjson11 ==
"0.48");
1112 QVERIFY(pjson12 ==
"0.48");
1113 QVERIFY(pjson13 ==
"4");
1114 QVERIFY(pjson14 ==
"4.8");
1115 QVERIFY(pjson15 ==
"480");
1116 QVERIFY(pjson16 ==
"0.048");
1117 QVERIFY(pjson17 ==
"480");
1118 QVERIFY(pjson18 ==
"4.8e+15");
1119 QVERIFY(pjson19 ==
"4.8e-15");
1120 QVERIFY(pjson20 ==
"4.8e+15");
1167 void TestJson::QMJsonValue_tofromjson_string(
void)
1169 auto value00 = QMPointer<QMJsonValue>(
new QMJsonValue(
""));
1170 auto value01 = QMPointer<QMJsonValue>(
new QMJsonValue(
"Test"));
1171 auto value02 = QMPointer<QMJsonValue>(
new QMJsonValue(
"\"Test\""));
1172 auto value03 = QMPointer<QMJsonValue>(
new QMJsonValue(
"\\"));
1173 auto value04 = QMPointer<QMJsonValue>(
new QMJsonValue(
"/"));
1174 auto value05 = QMPointer<QMJsonValue>(
new QMJsonValue(
"\b"));
1175 auto value06 = QMPointer<QMJsonValue>(
new QMJsonValue(
"\f"));
1176 auto value07 = QMPointer<QMJsonValue>(
new QMJsonValue(
"\n"));
1177 auto value08 = QMPointer<QMJsonValue>(
new QMJsonValue(
"\r"));
1178 auto value09 = QMPointer<QMJsonValue>(
new QMJsonValue(
"\t"));
1202 QVERIFY(ojson00 ==
"\"\"");
1203 QVERIFY(ojson01 ==
"\"Test\"");
1204 QVERIFY(ojson02 ==
"\"\\\"Test\\\"\"");
1205 QVERIFY(ojson03 ==
"\"\\\\\"");
1206 QVERIFY(ojson04 ==
"\"\\/\"");
1207 QVERIFY(ojson05 ==
"\"\\b\"");
1208 QVERIFY(ojson06 ==
"\"\\f\"");
1209 QVERIFY(ojson07 ==
"\"\\n\"");
1210 QVERIFY(ojson08 ==
"\"\\r\"");
1211 QVERIFY(ojson09 ==
"\"\\t\"");
1213 QVERIFY(pjson00 ==
"\"\"");
1214 QVERIFY(pjson01 ==
"\"Test\"");
1215 QVERIFY(pjson02 ==
"\"\\\"Test\\\"\"");
1216 QVERIFY(pjson03 ==
"\"\\\\\"");
1217 QVERIFY(pjson04 ==
"\"\\/\"");
1218 QVERIFY(pjson05 ==
"\"\\b\"");
1219 QVERIFY(pjson06 ==
"\"\\f\"");
1220 QVERIFY(pjson07 ==
"\"\\n\"");
1221 QVERIFY(pjson08 ==
"\"\\r\"");
1222 QVERIFY(pjson09 ==
"\"\\t\"");
1247 void TestJson::QMJsonValue_tofromjson_array(
void)
1249 auto array1 = QMPointer<QMJsonArray>(
new QMJsonArray());
1250 auto array2 = QMPointer<QMJsonArray>(
new QMJsonArray());
1251 auto array3 = QMPointer<QMJsonArray>(
new QMJsonArray());
1252 auto value1 = QMPointer<QMJsonValue>(
new QMJsonValue(array1));
1253 auto value2 = QMPointer<QMJsonValue>(
new QMJsonValue(array2));
1254 auto value3 = QMPointer<QMJsonValue>(
new QMJsonValue(array3));
1257 array2->append(
true);
1258 array2->append(4.8);
1259 array2->append(
"test");
1261 array3->append(array1);
1262 array3->append(array2);
1271 QVERIFY(ojson1 ==
"[]");
1272 QVERIFY(ojson2 ==
"[null,true,4.8,\"test\"]");
1273 QVERIFY(ojson3 ==
"[[],[null,true,4.8,\"test\"]]");
1275 QVERIFY(pjson1 ==
"[]");
1276 QVERIFY(pjson2 ==
"[\r\n" 1282 QVERIFY(pjson3 ==
"[\r\n" 1301 void TestJson::QMJsonValue_tofromjson_object(
void)
1303 auto object1 = QMPointer<QMJsonObject>(
new QMJsonObject());
1304 auto object2 = QMPointer<QMJsonObject>(
new QMJsonObject());
1305 auto object3 = QMPointer<QMJsonObject>(
new QMJsonObject());
1306 auto value1 = QMPointer<QMJsonValue>(
new QMJsonValue(object1));
1307 auto value2 = QMPointer<QMJsonValue>(
new QMJsonValue(object2));
1308 auto value3 = QMPointer<QMJsonValue>(
new QMJsonValue(object3));
1311 object2->insert(
"key1",
true);
1312 object2->insert(
"key2", 4.8);
1313 object2->insert(
"key3",
"test");
1315 object3->insert(
"key4", object1);
1316 object3->insert(
"key5", object2);
1325 QVERIFY(ojson1 ==
"{}");
1326 QVERIFY(ojson2 ==
"{\"key0\":null,\"key1\":true,\"key2\":4.8,\"key3\":\"test\"}");
1327 QVERIFY(ojson3 ==
"{\"key4\":{},\"key5\":{\"key0\":null,\"key1\":true,\"key2\":4.8,\"key3\":\"test\"}}");
1329 QVERIFY(pjson1 ==
"{}");
1330 QVERIFY(pjson2 ==
"{\r\n" 1331 " \"key0\":null,\r\n" 1332 " \"key1\":true,\r\n" 1333 " \"key2\":4.8,\r\n" 1334 " \"key3\":\"test\"\r\n" 1336 QVERIFY(pjson3 ==
"{\r\n" 1339 " \"key0\":null,\r\n" 1340 " \"key1\":true,\r\n" 1341 " \"key2\":4.8,\r\n" 1342 " \"key3\":\"test\"\r\n"
static QMPointer< QMJsonValue > fromJson(const QString &json)
static QMPointer< QMJsonValue > fromVariant(const QVariant &value)
static QMPointer< QMJsonValue > fromJsonFile(const QString &filename)