Branch Coverage

XS.xs
Criterion Covered Total %
branch 73 90 81.1


line true false branch
108 0 8 return INT2PTR(toml_table_t*, SvUV(referent));
113 0 52 return INT2PTR(toml_timestamp_t*, SvUV(referent));
130 11 30 if (!key) break;
134 3 27 if (NULL == sv) {
138 1 2 ERR_PATH_UNSHIFT(err_path_ptr, piece);
161 17 5 for (i = 0; i
164 2 15 if (NULL == sv) {
166 1 1 ERR_PATH_UNSHIFT(err_path_ptr, newSViv(i));
180 5 25 if (0 != (arr = toml_array_in(curtab, key))) {
184 8 17 if (0 != (tab = toml_table_in(curtab, key))) {
191 7 10 RETURN_IF_DATUM_IS_STRING(d);
7 0 RETURN_IF_DATUM_IS_STRING(d);
194 2 8 RETURN_IF_DATUM_IS_BOOLEAN(d);
1 1 RETURN_IF_DATUM_IS_BOOLEAN(d);
197 1 7 RETURN_IF_DATUM_IS_INTEGER(d);
200 3 4 RETURN_IF_DATUM_IS_DOUBLE(d);
203 3 1 RETURN_IF_DATUM_IS_TIMESTAMP(d);
215 2 15 if (0 != (arr = toml_array_at(curarr, i))) {
219 2 13 if (0 != (tab = toml_table_at(curarr, i))) {
226 3 10 RETURN_IF_DATUM_IS_STRING(d);
3 0 RETURN_IF_DATUM_IS_STRING(d);
229 2 8 RETURN_IF_DATUM_IS_BOOLEAN(d);
1 1 RETURN_IF_DATUM_IS_BOOLEAN(d);
232 4 4 RETURN_IF_DATUM_IS_INTEGER(d);
235 2 2 RETURN_IF_DATUM_IS_DOUBLE(d);
238 1 1 RETURN_IF_DATUM_IS_TIMESTAMP(d);
269 8 0 char* tomlstr = SvPVbyte(tomlsv, tomllen);
271 1 7 _verify_no_null(tomlstr, tomllen);
273 1 6 _verify_valid_utf8(tomlstr, tomllen);
277 2 4 if (tab == NULL) croak("%s", errbuf);
298 2 2 if (NULL == RETVAL) {
304 0 2 PUSHMARK(SP);
305 0 2 EXTEND(SP, 1);
343 4 0 if (NULL != ts->year) {
351 4 0 if (NULL != ts->hour) {
358 1 3 if (NULL != ts->millisec) {
367 4 0 if (NULL != ts->z) {
378 4 0 RETVAL = ts->year ? newSViv(*ts->year) : &PL_sv_undef;
387 4 0 RETVAL = ts->month ? newSViv(*ts->month) : &PL_sv_undef;
399 8 0 RETVAL = ts->day ? newSViv(*ts->day) : &PL_sv_undef;
411 8 0 RETVAL = ts->hour ? newSViv(*ts->hour) : &PL_sv_undef;
423 4 0 RETVAL = ts->minute ? newSViv(*ts->minute) : &PL_sv_undef;
435 4 0 RETVAL = ts->second ? newSViv(*ts->second) : &PL_sv_undef;
447 2 6 RETVAL = ts->millisec ? newSViv(*ts->millisec) : &PL_sv_undef;
456 4 0 RETVAL = ts->z ? newSVpv(ts->z, 0) : &PL_sv_undef;