File Coverage

blib/lib/PPI/Token/_QuoteEngine/Simple.pm
Criterion Covered Total %
statement 21 21 100.0
branch 6 10 60.0
condition n/a
subroutine 4 4 100.0
pod 0 1 0.0
total 31 36 86.1


line stmt bran cond sub pod time code
1             package PPI::Token::_QuoteEngine::Simple;
2              
3             # Simple quote engine
4              
5 67     67   477 use strict;
  67         187  
  67         2731  
6 67     67   45037 use PPI::Token::_QuoteEngine ();
  67         206  
  67         17791  
7              
8             our $VERSION = '1.28401'; # TRIAL
9              
10             our @ISA = 'PPI::Token::_QuoteEngine';
11              
12             sub new {
13 12950     12950 0 28528 my $class = shift;
14 12950 50       40140 my $separator = shift or return undef;
15              
16             # Create a new token containing the separator
17             ### This manual SUPER'ing ONLY works because none of
18             ### Token::Quote, Token::QuoteLike and Token::Regexp
19             ### implement a new function of their own.
20 12950 50       43589 my $self = PPI::Token::new( $class, $separator ) or return undef;
21 12950         47432 $self->{separator} = $separator;
22              
23 12950         46213 $self;
24             }
25              
26             sub _fill {
27 12949     12949   22693 my $class = shift;
28 12949         20676 my $t = shift;
29 12949 50       50191 my $self = $t->{token} or return undef;
30              
31             # Scan for the end separator
32 12949         52757 my $string = $self->_scan_for_unescaped_character( $t, $self->{separator} );
33 12949 50       34717 return undef unless defined $string;
34 12949 100       39034 if ( ref $string ) {
35             # End of file
36 991         2984 $self->{content} .= $$string;
37 991         3161 return 0;
38             } else {
39             # End of string
40 11958         38339 $self->{content} .= $string;
41 11958         34797 return $self;
42             }
43             }
44              
45             1;
46              
47             =pod
48              
49             =head1 SUPPORT
50              
51             See the L in the main module.
52              
53             =head1 AUTHOR
54              
55             Adam Kennedy Eadamk@cpan.orgE
56              
57             =head1 COPYRIGHT
58              
59             Copyright 2001 - 2011 Adam Kennedy.
60              
61             This program is free software; you can redistribute
62             it and/or modify it under the same terms as Perl itself.
63              
64             The full text of the license can be found in the
65             LICENSE file included with this module.
66              
67             =cut