Changeset 2541
- Timestamp:
- 02/23/10 19:50:01 (2 years ago)
- Location:
- Search-Query/trunk
- Files:
-
- 4 edited
-
lib/Search/Query/Dialect.pm (modified) (2 diffs)
-
lib/Search/Query/Dialect/KSx.pm (modified) (3 diffs)
-
lib/Search/Query/Parser.pm (modified) (1 diff)
-
t/06-ks.t (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
Search-Query/trunk/lib/Search/Query/Dialect.pm
r2536 r2541 14 14 use Clone; 15 15 16 __PACKAGE__->mk_accessors( qw( default_field parser ));16 __PACKAGE__->mk_accessors(qw( default_field parser )); 17 17 18 18 our $VERSION = '0.08'; … … 209 209 my $self = shift; 210 210 my $field = $self->default_field || $self->parser->default_field; 211 if ( ! $field ) {211 if ( !defined $field ) { 212 212 croak "must define a default_field"; 213 213 } -
Search-Query/trunk/lib/Search/Query/Dialect/KSx.pm
r2538 r2541 63 63 #carp dump $self; 64 64 $self->{wildcard} = '*'; 65 if ( $self->parser->fields ) { 66 $self->{default_field} ||= $self->parser->default_field 67 || [ sort keys %{ $self->parser->fields } ]; 68 } 69 else { 70 $self->{default_field} ||= $self->parser->default_field 71 || 'swishdefault'; 72 } 65 73 66 if ( $self->{default_field} and !ref( $self->{default_field} ) ) { 74 67 $self->{default_field} = [ $self->{default_field} ]; … … 152 145 153 146 # make sure we have a field 147 my $default_field = $self->default_field || $self->parser->default_field; 154 148 my @fields 155 149 = $clause->{field} 156 150 ? ( $clause->{field} ) 157 : ( @{ $self->_get_default_field} );151 : ( @{ defined $default_field ? @$default_field : [] } ); 158 152 159 153 # what value … … 162 156 ? $clause->{value} 163 157 : $self->_doctor_value($clause); 158 159 # if we have no fields, we're done 160 return $value unless @fields; 164 161 165 162 my $wildcard = $self->wildcard; -
Search-Query/trunk/lib/Search/Query/Parser.pm
r2536 r2541 279 279 =item default_field 280 280 281 Applied to all terms where no field is defined. The default value is undef (no default). 281 Applied to all terms where no field is defined. 282 The default value is undef (no default). 282 283 283 284 =item default_op -
Search-Query/trunk/t/06-ks.t
r2540 r2541 50 50 ok( my $query5 = $parser2->parse("joe smith"), "query5" ); 51 51 52 is( $query5, 53 qq/(email:joe OR first_name:joe OR last_name:joe) OR (email:smith OR first_name:smith OR last_name:smith)/, 54 "query5 string" 55 ); 52 is( $query5, qq/joe OR smith/, "query5 string" ); 56 53 57 54 ok( my $query6 = $parser2->parse(qq/"joe smith"/), "query6" ); 58 55 59 is( $query6, 60 qq/(email:"joe smith" OR first_name:"joe smith" OR last_name:"joe smith")/, 61 "query6 string" 62 ); 56 is( $query6, qq/joe smith/, "query6 string" ); 63 57 64 58 ok( my $parser3 = Search::Query::Parser->new( … … 72 66 ok( my $query7 = $parser3->parse('green'), "query7" ); 73 67 74 is( $query7, qq/ (bar:green OR foo:green)/, "query7 string" );68 is( $query7, qq/green/, "query7 string" ); 75 69 76 70 ok( my $parser4 = Search::Query::Parser->new( … … 186 180 "parse alias_for with no default field and no field specified" 187 181 ); 188 is( $query_alias_for2, qq/f ield2:foo/, "query expanded omits aliases" );182 is( $query_alias_for2, qq/foo/, "query expanded omits aliases" );
Note: See TracChangeset
for help on using the changeset viewer.