File Coverage

xs/Diff/File.xs
Criterion Covered Total %
statement 16 24 66.6
branch 6 16 37.5
condition n/a
subroutine n/a
pod n/a
total 22 40 55.0


line stmt bran cond sub pod time code
1             MODULE = Git::Raw::Diff PACKAGE = Git::Raw::Diff::File
2              
3             SV *
4             id(self)
5             Diff_File self
6              
7             CODE:
8 4           RETVAL = git_oid_to_sv(&self -> id);
9              
10             OUTPUT: RETVAL
11              
12             SV *
13             path(self)
14             Diff_File self
15              
16             CODE:
17 4           RETVAL = newSVpv(self -> path, 0);
18              
19             OUTPUT: RETVAL
20              
21             SV *
22             size(self)
23             Diff_File self
24              
25             CODE:
26 1           RETVAL = newSVuv((size_t) self -> size);
27              
28             OUTPUT: RETVAL
29              
30             SV *
31             flags(self)
32             Diff_File self
33              
34             PREINIT:
35 2           AV *flags = newAV();
36              
37             CODE:
38 2 50         if (self -> flags & GIT_DIFF_FLAG_BINARY)
39 0           av_push(flags, newSVpv("binary", 0));
40 2 50         if (self -> flags & GIT_DIFF_FLAG_VALID_ID)
41 2           av_push(flags, newSVpv("valid_id", 0));
42              
43 2           RETVAL = newRV_noinc((SV *) flags);
44              
45             OUTPUT: RETVAL
46              
47             SV *
48             mode(self)
49             Diff_File self
50              
51             PREINIT:
52 2           const char *mode = NULL;
53              
54             CODE:
55 2 100         if (self -> mode == GIT_FILEMODE_UNREADABLE)
56 1           mode = "unreadable";
57 1 50         else if (self -> mode == GIT_FILEMODE_TREE)
58 0           mode = "tree";
59 1 50         else if (self -> mode == GIT_FILEMODE_BLOB)
60 1           mode = "blob";
61 0 0         else if (self -> mode == GIT_FILEMODE_BLOB_EXECUTABLE)
62 0           mode = "blob_executable";
63 0 0         else if (self -> mode == GIT_FILEMODE_LINK)
64 0           mode = "link";
65 0 0         else if (self -> mode == GIT_FILEMODE_COMMIT)
66 0           mode = "commit";
67              
68 2           RETVAL = newSVpv (mode, 0);
69              
70             OUTPUT: RETVAL
71              
72             void
73             DESTROY(self)
74             SV *self
75              
76             CODE:
77 7           SvREFCNT_dec(GIT_SV_TO_MAGIC(self));