File Coverage

blib/lib/Syntax/Keyword/Junction/None.pm
Criterion Covered Total %
statement 89 92 96.7
branch 54 58 93.1
condition n/a
subroutine 21 21 100.0
pod 0 16 0.0
total 164 187 87.7


line stmt bran cond sub pod time code
1             package Syntax::Keyword::Junction::None;
2              
3 10     10   61 use strict;
  10         23  
  10         384  
4 10     10   679 use warnings;
  10         40  
  10         3113  
5              
6             our $VERSION = '0.003008'; # VERSION
7              
8 10     10   58 use parent 'Syntax::Keyword::Junction::Base';
  10         19  
  10         242  
9              
10             BEGIN {
11 10 50   10   3345 if ($] >= 5.010001) {
12 10 100   10 0 1829 eval q|
  10 50   3   61  
  10 0       22  
  10         71  
  3         7  
  3         10  
  3         7  
  7         150  
  1         34  
  0         0  
  0         0  
  0         0  
13             sub match {
14             no if $] > 5.017010, warnings => 'experimental::smartmatch';
15             my ( $self, $other, $is_rhs ) = @_;
16              
17             if ($is_rhs) {
18             for (@$self) {
19             return if $other ~~ $_;
20             }
21              
22             return 1;
23             }
24              
25             for (@$self) {
26             return if $_ ~~ $other;
27             }
28              
29             return 1;
30             }
31             |
32             }
33             }
34              
35             sub num_eq {
36 14 100   14 0 70 return regex_eq(@_) if ref( $_[1] ) eq 'Regexp';
37              
38 10         25 my ( $self, $test ) = @_;
39              
40 10         23 for (@$self) {
41 22 100       81 return if $_ == $test;
42             }
43              
44 6         30 return 1;
45             }
46              
47             sub num_ne {
48 8 100   8 0 39 return regex_ne(@_) if ref( $_[1] ) eq 'Regexp';
49              
50 2         4 my ( $self, $test ) = @_;
51              
52 2         6 for (@$self) {
53 3 100       14 return if $_ != $test;
54             }
55              
56 1         4 return 1;
57             }
58              
59             sub num_ge {
60 13     13 0 20 my ( $self, $test, $switch ) = @_;
61              
62 13 100       37 return num_le( $self, $test ) if $switch;
63              
64 8         17 for (@$self) {
65 18 100       55 return if $_ >= $test;
66             }
67              
68 3         16 return 1;
69             }
70              
71             sub num_gt {
72 13     13 0 24 my ( $self, $test, $switch ) = @_;
73              
74 13 100       37 return num_lt( $self, $test ) if $switch;
75              
76 9         17 for (@$self) {
77 21 100       82 return if $_ > $test;
78             }
79              
80 4         18 return 1;
81             }
82              
83             sub num_le {
84 12     12 0 20 my ( $self, $test, $switch ) = @_;
85              
86 12 100       36 return num_ge( $self, $test ) if $switch;
87              
88 8         21 for (@$self) {
89 16 100       52 return if $_ <= $test;
90             }
91              
92 4         19 return 1;
93             }
94              
95             sub num_lt {
96 13     13 0 25 my ( $self, $test, $switch ) = @_;
97              
98 13 100       34 return num_gt( $self, $test ) if $switch;
99              
100 8         17 for (@$self) {
101 16 100       55 return if $_ < $test;
102             }
103              
104 4         19 return 1;
105             }
106              
107             sub str_eq {
108 3     3 0 6 my ( $self, $test ) = @_;
109              
110 3         7 for (@$self) {
111 4 100       18 return if $_ eq $test;
112             }
113              
114 1         4 return 1;
115             }
116              
117             sub str_ne {
118 3     3 0 7 my ( $self, $test ) = @_;
119              
120 3         7 for (@$self) {
121 4 100       20 return if $_ ne $test;
122             }
123              
124 1         6 return 1;
125             }
126              
127             sub str_ge {
128 9     9 0 17 my ( $self, $test, $switch ) = @_;
129              
130 9 100       40 return str_le( $self, $test ) if $switch;
131              
132 6         14 for (@$self) {
133 8 100       40 return if $_ ge $test;
134             }
135              
136 2         9 return 1;
137             }
138              
139             sub str_gt {
140 10     10 0 64 my ( $self, $test, $switch ) = @_;
141              
142 10 100       29 return str_lt( $self, $test ) if $switch;
143              
144 7         17 for (@$self) {
145 12 100       50 return if $_ gt $test;
146             }
147              
148 3         15 return 1;
149             }
150              
151             sub str_le {
152 9     9 0 16 my ( $self, $test, $switch ) = @_;
153              
154 9 100       34 return str_ge( $self, $test ) if $switch;
155              
156 6         15 for (@$self) {
157 8 100       37 return if $_ le $test;
158             }
159              
160 2         18 return 1;
161             }
162              
163             sub str_lt {
164 9     9 0 19 my ( $self, $test, $switch ) = @_;
165              
166 9 100       24 return str_gt( $self, $test ) if $switch;
167              
168 6         12 for (@$self) {
169 8 100       35 return if $_ lt $test;
170             }
171              
172 2         10 return 1;
173             }
174              
175             sub regex_eq {
176 4     4 0 7 my ( $self, $test, $switch ) = @_;
177              
178 4         10 for (@$self) {
179 11 100       60 return if $_ =~ $test;
180             }
181              
182 2         9 return 1;
183             }
184              
185             sub regex_ne {
186 6     6 0 13 my ( $self, $test, $switch ) = @_;
187              
188 6         13 for (@$self) {
189 14 100       93 return if $_ !~ $test;
190             }
191              
192 4         29 return 1;
193             }
194              
195             sub bool {
196 2     2 0 22 my ($self) = @_;
197              
198 2         7 for (@$self) {
199 6 100       27 return if $_;
200             }
201              
202 1         4 return 1;
203             }
204              
205             1;
206              
207             __END__