*/
#include "qemu/osdep.h"
-#include "qapi/qmp/qint.h"
#include "qapi/qmp/qdict.h"
#include "qapi/qmp/qstring.h"
#include "qapi/error.h"
g_assert(qdict->base.refcnt == 1);
g_assert(qobject_type(QOBJECT(qdict)) == QTYPE_QDICT);
- // destroy doesn't exit yet
- g_free(qdict);
+ QDECREF(qdict);
}
static void qdict_put_obj_test(void)
{
- QInt *qi;
+ QNum *qn;
QDict *qdict;
QDictEntry *ent;
const int num = 42;
g_assert(qdict_size(qdict) == 1);
ent = QLIST_FIRST(&qdict->table[12345 % QDICT_BUCKET_MAX]);
- qi = qobject_to_qint(ent->value);
- g_assert(qint_get_int(qi) == num);
-
- // destroy doesn't exit yet
- QDECREF(qi);
- g_free(ent->key);
- g_free(ent);
- g_free(qdict);
+ qn = qobject_to_qnum(ent->value);
+ g_assert_cmpint(qnum_get_int(qn), ==, num);
+
+ QDECREF(qdict);
}
static void qdict_destroy_simple_test(void)
static void qdict_get_test(void)
{
- QInt *qi;
+ QNum *qn;
QObject *obj;
const int value = -42;
const char *key = "test";
obj = qdict_get(tests_dict, key);
g_assert(obj != NULL);
- qi = qobject_to_qint(obj);
- g_assert(qint_get_int(qi) == value);
+ qn = qobject_to_qnum(obj);
+ g_assert_cmpint(qnum_get_int(qn), ==, value);
QDECREF(tests_dict);
}
QDict *tests_dict = qdict_new();
qdict_put_int(tests_dict, key, value);
+ qdict_put_str(tests_dict, "string", "test");
ret = qdict_get_try_int(tests_dict, key, 0);
g_assert(ret == value);
+ ret = qdict_get_try_int(tests_dict, "missing", -42);
+ g_assert_cmpuint(ret, ==, -42);
+
+ ret = qdict_get_try_int(tests_dict, "string", -42);
+ g_assert_cmpuint(ret, ==, -42);
+
QDECREF(tests_dict);
}
{
QDict *test_dict = qdict_new();
QDict *dict1, *dict2;
- QInt *int1;
+ QNum *int1;
QList *test_list;
/*
dict1 = qobject_to_qdict(qlist_pop(test_list));
dict2 = qobject_to_qdict(qlist_pop(test_list));
- int1 = qobject_to_qint(qlist_pop(test_list));
+ int1 = qobject_to_qnum(qlist_pop(test_list));
g_assert(dict1);
g_assert(dict2);
QDECREF(dict2);
- g_assert(qint_get_int(int1) == 66);
+ g_assert_cmpint(qnum_get_int(int1), ==, 66);
QDECREF(int1);
qdict_array_split(test_dict, &test_list);
- int1 = qobject_to_qint(qlist_pop(test_list));
+ int1 = qobject_to_qnum(qlist_pop(test_list));
g_assert(int1);
g_assert(qlist_empty(test_list));
QDECREF(test_list);
- g_assert(qint_get_int(int1) == 42);
+ g_assert_cmpint(qnum_get_int(int1), ==, 42);
QDECREF(int1);