package Bugzilla::Test::Search::Constants;
use base qw(Exporter);
use Bugzilla::Constants;
+use Bugzilla::Util qw(generate_random_password);
our @EXPORT = qw(
ATTACHMENT_FIELDS
# All the fields that represent users.
use constant USER_FIELDS => qw(
assigned_to
+ cc
reporter
qa_contact
commenter
attachments.submitter
setters.login_name
- requestees.login_name cc
+ requestees.login_name
);
# For the "substr"-type searches, how short of a substring should
contains => [1,2,3,4] },
{ field => 'bug_status', operator => 'anyexact', value => '__all__',
contains => [1,2,3,4,5] },
+
+ { field => 'assigned_to', operator => 'anyexact',
+ value => '<1>, <2-reporter>', contains => [1,2],
+ extra_params => { emailreporter1 => 1 } },
+ { field => 'assigned_to', operator => 'equals',
+ value => '<1>', extra_name => 'email2', contains => [],
+ extra_params => {
+ email2 => generate_random_password(100), emaillongdesc2 => 1,
+ },
+ }
);
1;
changedto => 'chfieldvalue',
};
+use constant EMAIL_FIELDS => qw(assigned_to qa_contact cc reporter commenter);
+
# Normally, we just clone a FieldTest because that's the best for performance,
# overall--that way we don't have to translate the value again. However,
# sometimes (like in Bugzilla::Test::Search's direct code) we just want
if ($field eq 'deadline' and $operator eq 'lessthaneq') {
return { deadlineto => $value };
}
+
+ if (grep { $_ eq $field } EMAIL_FIELDS) {
+ $field = 'longdesc' if $field eq 'commenter';
+ return {
+ email1 => $value,
+ "email${field}1" => 1,
+ emailtype1 => $operator,
+ # Used to do extra tests on special sorts of email* combinations.
+ %{ $self->test->{extra_params} || {} },
+ };
+ }
$field =~ s/\./_/g;
return { $field => $value, "${field}_type" => $operator };