Branch Coverage

src/xh_h2x_native.c
Criterion Covered Total %
branch 27 32 84.3


line true false branch
17 1 67 if (type & XH_H2X_T_BLESSED && (method = gv_fetchmethod_autoload(SvSTASH(value), "iternext", 0)) != NULL) {
1 0 if (type & XH_H2X_T_BLESSED && (method = gv_fetchmethod_autoload(SvSTASH(value), "iternext", 0)) != NULL) {
20 1 4 if (!SvOK(item_value)) break;
27 34 33 if (type & XH_H2X_T_SCALAR) {
30 26 7 else if (type & XH_H2X_T_HASH) {
31 0 26 len = HvUSEDKEYS((HV *) value);
32 0 26 if (len == 0) goto ADD_EMPTY_NODE;
34 25 1 if (key != NULL)
37 2 24 if (len > 1 && ctx->opts.canonical) {
2 0 if (len > 1 && ctx->opts.canonical) {
39 5 2 for (i = 0; i < len; i++) {
46 24 24 while ((item_value = hv_iternextsv((HV *) value, (char **) &item, &item_len))) {
51 25 1 if (key != NULL)
54 6 1 else if (type & XH_H2X_T_ARRAY) {
56 13 6 for (i = 0; i < len; i++) {
62 0 1 if (key != NULL)