Branch Coverage

src/xh_h2x_native.c
Criterion Covered Total %
branch 24 30 80.0


line true false branch
17 1 62 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;
1 0 if (!SvOK(item_value)) break;
1 0 if (!SvOK(item_value)) break;
27 32 30 if (type & XH_H2X_T_SCALAR) {
30 24 6 else if (type & XH_H2X_T_HASH) {
31 0 24 len = HvUSEDKEYS((HV *) value);
32 0 24 if (len == 0) goto ADD_EMPTY_NODE;
36 2 22 if (len > 1 && ctx->opts.canonical) {
2 0 if (len > 1 && ctx->opts.canonical) {
38 5 2 for (i = 0; i < len; i++) {
45 22 22 while ((item_value = hv_iternextsv((HV *) value, (char **) &item, &item_len))) {
52 5 1 else if (type & XH_H2X_T_ARRAY) {
54 11 5 for (i = 0; i < len; i++) {