Skip to content

Commit db24ac9

Browse files
committed
Add test for invalid operator
1 parent 5293577 commit db24ac9

File tree

1 file changed

+24
-7
lines changed

1 file changed

+24
-7
lines changed

t/test_case_set.t

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,13 @@ lives_ok { # Make sure we get to print log messages in case of errors.
269269
modifiers => [ '', 'all', '-', 'basic' ],
270270
expected => [ 'extra01', 'extra02' ],
271271
},
272+
{
273+
name => 'invalid operator',
274+
schema => { basic => [ 'basic01', 'basic02' ] },
275+
selection => ['basic01'],
276+
modifiers => [ '*', 'basic02' ],
277+
error => qr{unrecognized operator}i,
278+
},
272279
);
273280
for my $case ( @cases ) {
274281
subtest $case->{name} => sub {
@@ -277,15 +284,25 @@ lives_ok { # Make sure we get to print log messages in case of errors.
277284
$case->{schema},
278285
);
279286

280-
while ( @{ $case->{modifiers} } ) {
281-
my $op = shift @{ $case->{modifiers} };
282-
my $term = shift @{ $case->{modifiers} };
283-
$test_case_set->apply_modifier( $op, $term );
284-
}
287+
local $@ = '';
288+
eval {
289+
while ( @{ $case->{modifiers} } ) {
290+
my $op = shift @{ $case->{modifiers} };
291+
my $term = shift @{ $case->{modifiers} };
292+
$test_case_set->apply_modifier( $op, $term );
293+
}
294+
};
295+
my $error = $@;
285296

286-
eq_or_diff [ $test_case_set->to_list ], $case->{expected};
297+
if ( exists $case->{expected} ) {
298+
is $error, '';
299+
eq_or_diff [ $test_case_set->to_list ], $case->{expected};
300+
}
301+
else {
302+
like $error, $case->{error};
303+
}
287304
};
288-
}
305+
} ## end for my $case ( @cases )
289306
};
290307
};
291308

0 commit comments

Comments
 (0)