File Coverage

blib/lib/App/podman/Parser.pm
Criterion Covered Total %
statement 36 42 85.7
branch n/a
condition n/a
subroutine 15 18 83.3
pod n/a
total 51 60 85.0


line stmt bran cond sub pod time code
1             # You may distribute under the terms of either the GNU General Public License
2             # or the Artistic License (the same terms as Perl itself)
3             #
4             # (C) Paul Evans, 2021 -- leonerd@leonerd.org.uk
5              
6 3     3   742 use v5.26;
  3         11  
7 3     3   2152 use utf8;
  3         47  
  3         17  
8              
9 3     3   738 use Object::Pad 0.41;
  3         10248  
  3         17  
10              
11             package App::podman::Parser 0.01;
12             role App::podman::Parser;
13              
14 3     3   3234 use String::Tagged;
  3         25068  
  3         415  
15              
16             # This package is empty but provides a bunch of helper classes
17              
18             class App::podman::Para::Heading {
19 0     0   0 has $level :param :reader;
  0         0  
20 11     11   1756 has $text :param :reader;
  11         64  
21              
22 6     6   2935 method type { "head" . $level }
  6         39  
23             }
24              
25             class App::podman::Para::Plain {
26 46     46   4132 has $text :param :reader;
  46         208  
27              
28 9     9   34 method type { "plain" }
  9         60  
29             }
30              
31             class App::podman::Para::Verbatim {
32 4     4   13 has $text :param :reader;
  4         31  
33              
34 0     0   0 method type { "verbatim" }
  0         0  
35             }
36              
37             class App::podman::Para::List {
38 0     0   0 has $listtype :param :reader;
  0         0  
39 4     4   19 has $indent :param :reader;
  4         22  
40              
41             has @items; # would love to :reader this
42 4     4   17 method items { @items }
  4         28  
43 15     15   67 method push_item ( $item ) { push @items, $item; }
  15         21  
  15         25  
  15         19  
  15         54  
44              
45 6     6   3530 method type { "list-$listtype" }
  6         50  
46             }
47              
48             class App::podman::Para::ListItem {
49 21     21   88 has $text :param :reader;
  21         136  
50              
51             # TODO: Do we remember the list's type?
52 12     12   2631 method type { "item" }
  12         62  
53             }
54              
55             0x55AA;