3 |
use strict; |
use strict; |
4 |
use blib; |
use blib; |
5 |
|
|
6 |
use Test::More tests => 22; |
use Test::More tests => 34; |
7 |
use Test::Exception; |
use Test::Exception; |
8 |
#use Data::Dumper; |
#use Data::Dumper; |
9 |
|
|
21 |
ok($cond->set_max(42), 'set_max, number'); |
ok($cond->set_max(42), 'set_max, number'); |
22 |
throws_ok { $cond->set_max('foo') } qr/number/, 'set_max, NaN'; |
throws_ok { $cond->set_max('foo') } qr/number/, 'set_max, NaN'; |
23 |
|
|
24 |
foreach my $opt (qw/SURE USUAL FAST AGITO NOIDF SIMPLE/) { |
my $old_options = -1; |
25 |
ok($cond->set_options( $opt ), 'set_option '.$opt); |
my @all_options = qw/SURE USUAL FAST AGITO NOIDF SIMPLE/; |
26 |
|
my $all_opts = 0; |
27 |
|
foreach my $opt (@all_options) { |
28 |
|
ok(my $options = $cond->set_options( $opt ), 'set_option '.$opt); |
29 |
|
cmp_ok($options, '!=', $old_options, "options changed"); |
30 |
|
$old_options = $options; |
31 |
|
$all_opts += $options; |
32 |
} |
} |
33 |
|
|
34 |
|
cmp_ok($cond->set_options(@all_options), '==', $all_opts, "set_option all!"); |
35 |
|
|
36 |
|
throws_ok { $cond->set_options('foo') } qr/foo/, "set_option invalid"; |
37 |
|
|
38 |
|
cmp_ok($cond->set_options( SURE => 1 ), '==', $cond->set_options('SURE'), "set_option backward compatibility"); |
39 |
|
|
40 |
|
ok($cond->set_mask(qw/0 1 2/), 'mask'); |
41 |
|
|
42 |
my $v; |
my $v; |
43 |
cmp_ok($v = $cond->phrase, 'eq', 'search', "phrase: $v"); |
cmp_ok($v = $cond->phrase, 'eq', 'search', "phrase: $v"); |
44 |
cmp_ok($v = $cond->max, '==', 42, "max: $v"); |
cmp_ok($v = $cond->max, '==', 42, "max: $v"); |
49 |
ok($cond->add_attr('@foo2 BAR2 baz2'), 'set_attr'); |
ok($cond->add_attr('@foo2 BAR2 baz2'), 'set_attr'); |
50 |
#diag "attrs: ",join(",",$cond->attrs); |
#diag "attrs: ",join(",",$cond->attrs); |
51 |
cmp_ok($cond->attrs, '==', 2, 'two attrs'); |
cmp_ok($cond->attrs, '==', 2, 'two attrs'); |
52 |
|
|
53 |
|
ok($cond->set_distinct('@foo'), 'set_distinct'); |
54 |
|
cmp_ok($cond->distinct, 'eq', '@foo', 'distinct'); |