File Coverage

xs/action.xs
Criterion Covered Total %
statement 25 43 58.1
branch 38 108 35.1
condition n/a
subroutine n/a
pod n/a
total 63 151 41.7


line stmt bran cond sub pod time code
1             MODULE = PDF::Make PACKAGE = PDF::Make::Action
2             PROTOTYPES: ENABLE
3              
4             # Action type constants
5             int
6             GOTO()
7             CODE:
8 0 0         RETVAL = PDFMAKE_ACTION_GOTO;
9             OUTPUT:
10             RETVAL
11              
12             int
13             GOTOR()
14             CODE:
15 0 0         RETVAL = PDFMAKE_ACTION_GOTOR;
16             OUTPUT:
17             RETVAL
18              
19             int
20             URI()
21             CODE:
22 0 0         RETVAL = PDFMAKE_ACTION_URI;
23             OUTPUT:
24             RETVAL
25              
26             int
27             NAMED()
28             CODE:
29 0 0         RETVAL = PDFMAKE_ACTION_NAMED;
30             OUTPUT:
31             RETVAL
32              
33             int
34             JAVASCRIPT()
35             CODE:
36 0 0         RETVAL = PDFMAKE_ACTION_JAVASCRIPT;
37             OUTPUT:
38             RETVAL
39              
40             int
41             HIDE()
42             CODE:
43 0 0         RETVAL = PDFMAKE_ACTION_HIDE;
44             OUTPUT:
45             RETVAL
46              
47             int
48             LAUNCH()
49             CODE:
50 0 0         RETVAL = PDFMAKE_ACTION_LAUNCH;
51             OUTPUT:
52             RETVAL
53              
54             # Named action constants
55             int
56             NEXTPAGE()
57             CODE:
58 0 0         RETVAL = PDFMAKE_NAMED_NEXTPAGE;
59             OUTPUT:
60             RETVAL
61              
62             int
63             PREVPAGE()
64             CODE:
65 0 0         RETVAL = PDFMAKE_NAMED_PREVPAGE;
66             OUTPUT:
67             RETVAL
68              
69             int
70             FIRSTPAGE()
71             CODE:
72 0 0         RETVAL = PDFMAKE_NAMED_FIRSTPAGE;
73             OUTPUT:
74             RETVAL
75              
76             int
77             LASTPAGE()
78             CODE:
79 0 0         RETVAL = PDFMAKE_NAMED_LASTPAGE;
80             OUTPUT:
81             RETVAL
82              
83             int
84             PRINT()
85             CODE:
86 0 0         RETVAL = PDFMAKE_NAMED_PRINT;
87             OUTPUT:
88             RETVAL
89              
90             # Highlight mode constants
91             int
92             HIGHLIGHT_NONE()
93             CODE:
94 0 0         RETVAL = PDFMAKE_HIGHLIGHT_NONE;
95             OUTPUT:
96             RETVAL
97              
98             int
99             HIGHLIGHT_INVERT()
100             CODE:
101 0 0         RETVAL = PDFMAKE_HIGHLIGHT_INVERT;
102             OUTPUT:
103             RETVAL
104              
105             int
106             HIGHLIGHT_OUTLINE()
107             CODE:
108 0 0         RETVAL = PDFMAKE_HIGHLIGHT_OUTLINE;
109             OUTPUT:
110             RETVAL
111              
112             int
113             HIGHLIGHT_PUSH()
114             CODE:
115 0 0         RETVAL = PDFMAKE_HIGHLIGHT_PUSH;
116             OUTPUT:
117             RETVAL
118              
119             # Action accessors
120             int
121             type(self)
122             pdfmake_action_t *self
123             CODE:
124 5 50         RETVAL = self->type;
125             OUTPUT:
126             RETVAL
127              
128             UV
129             obj_num(self)
130             pdfmake_action_t *self
131             CODE:
132 2 50         RETVAL = (UV)self->obj_num;
133             OUTPUT:
134             RETVAL
135              
136             # Action builders - these are called via Document methods, exposed here for completeness
137              
138             UV
139             write(self)
140             pdfmake_action_t *self
141             CODE:
142 2           RETVAL = pdfmake_action_write(self);
143 2 50         if (RETVAL == 0)
144 0           croak("PDF::Make::Action::write: failed to write action");
145             OUTPUT:
146             RETVAL
147              
148             pdfmake_action_t *
149             chain(self, next)
150             pdfmake_action_t *self
151             pdfmake_action_t *next
152             CODE:
153 1           pdfmake_err_t err = pdfmake_action_chain(self, next);
154 1 50         if (err != PDFMAKE_OK)
155 0           croak("PDF::Make::Action::chain: failed to chain action");
156 1           RETVAL = self;
157             OUTPUT:
158             RETVAL
159              
160             BOOT:
161             {
162 90           HV *stash = gv_stashpv("PDF::Make::Action", GV_ADD);
163 90 50         PDFMAKE_REGISTER_GETTER(stash, "type", pdfmake_action_t, type, PDFMAKE_FIELD_INT);
    50          
164 90 50         PDFMAKE_REGISTER_CONST(stash, "GOTO", PDFMAKE_ACTION_GOTO);
    50          
165 90 50         PDFMAKE_REGISTER_CONST(stash, "GOTOR", PDFMAKE_ACTION_GOTOR);
    50          
166 90 50         PDFMAKE_REGISTER_CONST(stash, "URI", PDFMAKE_ACTION_URI);
    50          
167 90 50         PDFMAKE_REGISTER_CONST(stash, "NAMED", PDFMAKE_ACTION_NAMED);
    50          
168 90 50         PDFMAKE_REGISTER_CONST(stash, "JAVASCRIPT", PDFMAKE_ACTION_JAVASCRIPT);
    50          
169 90 50         PDFMAKE_REGISTER_CONST(stash, "HIDE", PDFMAKE_ACTION_HIDE);
    50          
170 90 50         PDFMAKE_REGISTER_CONST(stash, "LAUNCH", PDFMAKE_ACTION_LAUNCH);
    50          
171 90 50         PDFMAKE_REGISTER_CONST(stash, "NEXTPAGE", PDFMAKE_NAMED_NEXTPAGE);
    50          
172 90 50         PDFMAKE_REGISTER_CONST(stash, "PREVPAGE", PDFMAKE_NAMED_PREVPAGE);
    50          
173 90 50         PDFMAKE_REGISTER_CONST(stash, "FIRSTPAGE", PDFMAKE_NAMED_FIRSTPAGE);
    50          
174 90 50         PDFMAKE_REGISTER_CONST(stash, "LASTPAGE", PDFMAKE_NAMED_LASTPAGE);
    50          
175 90 50         PDFMAKE_REGISTER_CONST(stash, "PRINT", PDFMAKE_NAMED_PRINT);
    50          
176 90 50         PDFMAKE_REGISTER_CONST(stash, "HIGHLIGHT_NONE", PDFMAKE_HIGHLIGHT_NONE);
    50          
177 90 50         PDFMAKE_REGISTER_CONST(stash, "HIGHLIGHT_INVERT", PDFMAKE_HIGHLIGHT_INVERT);
    50          
178 90 50         PDFMAKE_REGISTER_CONST(stash, "HIGHLIGHT_OUTLINE", PDFMAKE_HIGHLIGHT_OUTLINE);
    50          
179 90 50         PDFMAKE_REGISTER_CONST(stash, "HIGHLIGHT_PUSH", PDFMAKE_HIGHLIGHT_PUSH);
    50          
180             }