/[Search-Estraier]/trunk/t/2_Condition.t
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/t/2_Condition.t

Parent Directory Parent Directory | Revision Log Revision Log


Revision 98 - (hide annotations)
Sat Jan 28 19:18:13 2006 UTC (18 years, 3 months ago) by dpavlin
File MIME type: application/x-troff
File size: 1544 byte(s)
improved $cond->set_options to support one or more arguments and reset
options on each call, e.g.
$cond->set_options('SURE') or
$cond->set_options(qw/SURE NOIDF/)
1 dpavlin 15 #!/usr/bin/perl -w
2    
3     use strict;
4     use blib;
5    
6 dpavlin 98 use Test::More tests => 31;
7 dpavlin 16 use Test::Exception;
8 dpavlin 15 #use Data::Dumper;
9    
10     BEGIN { use_ok('Search::Estraier') };
11    
12     ok(my $cond = new Search::Estraier::Condition, 'new');
13     isa_ok($cond, 'Search::Estraier::Condition');
14    
15 dpavlin 19 cmp_ok($cond->max, '==', -1, 'max');
16     cmp_ok($cond->options, '==', 0, 'options');
17    
18 dpavlin 16 ok($cond->set_phrase('search'), 'set_phrase');
19 dpavlin 19 ok($cond->add_attr('@foo BAR baz'), 'set_attr');
20 dpavlin 16 ok($cond->set_order('@foo ASC'), 'set_order');
21     ok($cond->set_max(42), 'set_max, number');
22     throws_ok { $cond->set_max('foo') } qr/number/, 'set_max, NaN';
23 dpavlin 17
24 dpavlin 98 my $old_options = -1;
25     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 dpavlin 17 }
33 dpavlin 18
34 dpavlin 98 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 dpavlin 19 my $v;
41     cmp_ok($v = $cond->phrase, 'eq', 'search', "phrase: $v");
42     cmp_ok($v = $cond->max, '==', 42, "max: $v");
43     cmp_ok($v = $cond->options, '!=', 0, "options: $v");
44    
45     #diag "attrs: ",join(",",$cond->attrs);
46     cmp_ok($cond->attrs, '==', 1, 'one attrs');
47     ok($cond->add_attr('@foo2 BAR2 baz2'), 'set_attr');
48     #diag "attrs: ",join(",",$cond->attrs);
49     cmp_ok($cond->attrs, '==', 2, 'two attrs');

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26