GCC Code Coverage Report


Directory: ./
File: src/json_glib_extensions.c
Date: 2024-08-06 23:19:24
Exec Total Coverage
Lines: 21 23 91.3%
Functions: 8 8 100.0%
Branches: 10 16 62.5%

Line Branch Exec Source
1 // SPDX-License-Identifier: GPL-3.0-or-later
2 // Copyright (C) 2020 Omar Castro
3
4 #include <stdlib.h>
5 #include <gmodule.h>
6 #include "json_glib_extensions.h"
7
8 3 gboolean json_node_get_boolean_or_else(JsonNode * node, gboolean else_value){
9 return node != NULL &&
10 json_node_get_value_type(node) == G_TYPE_BOOLEAN ?
11
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3 times.
3 json_node_get_boolean(node) : else_value;
12 }
13
14 18 const gchar * json_node_get_string_or_else(JsonNode * node, const gchar * else_value){
15
1/2
✓ Branch 0 taken 5 times.
✗ Branch 1 not taken.
5 return node != NULL &&
16 5 json_node_get_value_type(node) == G_TYPE_STRING ?
17
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 13 times.
23 json_node_get_string(node) : else_value;
18 }
19
20 6 const gchar * json_node_get_nullable_string_or_else(JsonNode * node, const gchar * else_value){
21
1/2
✓ Branch 0 taken 2 times.
✗ Branch 1 not taken.
2 return node != NULL &&
22
2/2
✓ Branch 0 taken 2 times.
✓ Branch 1 taken 4 times.
8 json_node_is_null(node) ? NULL : json_node_get_string_or_else(node, else_value);
23 }
24
25 3 gint64 json_node_get_int_or_else(JsonNode * node, const gint64 else_value){
26
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 return node != NULL &&
27 1 json_node_get_value_type(node) == G_TYPE_INT64 ?
28
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 2 times.
4 json_node_get_int(node) : else_value;
29 }
30
31
32 3 gboolean json_object_get_boolean_member_or_else(JsonObject * node, const gchar * member, gboolean else_value){
33 3 return json_node_get_boolean_or_else(json_object_get_member(node, member), else_value);
34 }
35
36 12 const gchar * json_object_get_string_member_or_else(JsonObject * node, const gchar * member, const gchar * else_value){
37 12 return json_node_get_string_or_else(json_object_get_member(node, member), else_value);
38 }
39
40 6 const gchar * json_object_get_nullable_string_member_or_else(JsonObject * node, const gchar * member, const gchar * else_value){
41 6 return json_node_get_nullable_string_or_else(json_object_get_member(node, member), else_value);
42 }
43
44 3 gint64 json_object_get_int_member_or_else(JsonObject * node, const gchar * member, const gint64 else_value){
45 3 return json_node_get_int_or_else(json_object_get_member(node, member), else_value);
46 }
47