~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to tests/check-qdict.c

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
591
591
static void qdict_crumple_test_recursive(void)
592
592
{
593
593
    QDict *src, *dst, *rule, *vnc, *acl, *listen;
594
 
    QObject *child, *res;
595
594
    QList *rules;
596
595
 
597
596
    src = qdict_new();
605
604
    qdict_put(src, "vnc.acl..name", qstring_from_str("acl0"));
606
605
    qdict_put(src, "vnc.acl.rule..name", qstring_from_str("acl0"));
607
606
 
608
 
    res = qdict_crumple(src, &error_abort);
609
 
 
610
 
    g_assert_cmpint(qobject_type(res), ==, QTYPE_QDICT);
611
 
 
612
 
    dst = qobject_to_qdict(res);
613
 
 
 
607
    dst = qobject_to_qdict(qdict_crumple(src, &error_abort));
 
608
    g_assert(dst);
614
609
    g_assert_cmpint(qdict_size(dst), ==, 1);
615
610
 
616
 
    child = qdict_get(dst, "vnc");
617
 
    g_assert_cmpint(qobject_type(child), ==, QTYPE_QDICT);
618
 
    vnc = qobject_to_qdict(child);
 
611
    vnc = qdict_get_qdict(dst, "vnc");
 
612
    g_assert(vnc);
 
613
    g_assert_cmpint(qdict_size(vnc), ==, 3);
619
614
 
620
 
    child = qdict_get(vnc, "listen");
621
 
    g_assert_cmpint(qobject_type(child), ==, QTYPE_QDICT);
622
 
    listen = qobject_to_qdict(child);
 
615
    listen = qdict_get_qdict(vnc, "listen");
 
616
    g_assert(listen);
 
617
    g_assert_cmpint(qdict_size(listen), ==, 2);
623
618
    g_assert_cmpstr("127.0.0.1", ==, qdict_get_str(listen, "addr"));
624
619
    g_assert_cmpstr("5901", ==, qdict_get_str(listen, "port"));
625
620
 
626
 
    child = qdict_get(vnc, "acl");
627
 
    g_assert_cmpint(qobject_type(child), ==, QTYPE_QDICT);
628
 
    acl = qobject_to_qdict(child);
 
621
    acl = qdict_get_qdict(vnc, "acl");
 
622
    g_assert(acl);
 
623
    g_assert_cmpint(qdict_size(acl), ==, 3);
629
624
 
630
 
    child = qdict_get(acl, "rules");
631
 
    g_assert_cmpint(qobject_type(child), ==, QTYPE_QLIST);
632
 
    rules = qobject_to_qlist(child);
 
625
    rules = qdict_get_qlist(acl, "rules");
 
626
    g_assert(rules);
633
627
    g_assert_cmpint(qlist_size(rules), ==, 2);
634
628
 
635
629
    rule = qobject_to_qdict(qlist_pop(rules));
 
630
    g_assert(rule);
636
631
    g_assert_cmpint(qdict_size(rule), ==, 2);
637
632
    g_assert_cmpstr("fred", ==, qdict_get_str(rule, "match"));
638
633
    g_assert_cmpstr("allow", ==, qdict_get_str(rule, "policy"));
639
634
    QDECREF(rule);
640
635
 
641
636
    rule = qobject_to_qdict(qlist_pop(rules));
 
637
    g_assert(rule);
642
638
    g_assert_cmpint(qdict_size(rule), ==, 2);
643
639
    g_assert_cmpstr("bob", ==, qdict_get_str(rule, "match"));
644
640
    g_assert_cmpstr("deny", ==, qdict_get_str(rule, "policy"));
646
642
 
647
643
    /* With recursive crumpling, we should see all names unescaped */
648
644
    g_assert_cmpstr("acl0", ==, qdict_get_str(vnc, "acl.name"));
649
 
    child = qdict_get(vnc, "acl");
650
 
    g_assert_cmpint(qobject_type(child), ==, QTYPE_QDICT);
651
 
    acl = qdict_get_qdict(vnc, "acl");
652
645
    g_assert_cmpstr("acl0", ==, qdict_get_str(acl, "rule.name"));
653
646
 
654
647
    QDECREF(src);