+
+# set timezone in all places to UTC
+{
+ RT->SystemUser->UserObj->__Set(Field => 'Timezone', Value => 'UTC')
+ if RT->SystemUser->UserObj->Timezone;
+ RT->Config->Set( Timezone => 'UTC' );
+}
+
+# search by absolute date with '=', but date only
+{
+ my $ticket = RT::Ticket->new(RT->SystemUser);
+ my ($tid) = $ticket->Create(
+ Queue => $q->id,
+ Subject => 'Test',
+ 'CustomField-' . $cf->id => '2013-02-11 23:14:15',
+ );
+ is $ticket->FirstCustomFieldValue($cf_name), '2013-02-11 23:14:15';
+
+ my $tickets = RT::Tickets->new($user_m);
+ $tickets->FromSQL("'CustomField.{$cf_name}' = '2013-02-11' AND id = $tid");
+ is( $tickets->Count, 0);
+
+ $tickets = RT::Tickets->new($user_m);
+ $tickets->FromSQL("'CustomField.{$cf_name}' = '2013-02-12' AND id = $tid");
+ is( $tickets->Count, 1);
+
+ $tickets = RT::Tickets->new($user_b);
+ $tickets->FromSQL("'CustomField.{$cf_name}' = '2013-02-11' AND id = $tid");
+ is( $tickets->Count, 1);
+
+ $tickets = RT::Tickets->new($user_b);
+ $tickets->FromSQL("'CustomField.{$cf_name}' = '2013-02-12' AND id = $tid");
+ is( $tickets->Count, 0);
+}
+
+# search by relative date with '=', but date only
+{
+ my $ticket = RT::Ticket->new(RT->SystemUser);
+ my ($tid) = $ticket->Create(
+ Queue => $q->id,
+ Subject => 'Test',
+ 'CustomField-' . $cf->id => '2013-02-11 23:14:15',
+ );
+ is $ticket->FirstCustomFieldValue($cf_name), '2013-02-11 23:14:15';
+
+ set_fixed_time("2013-02-10T16:10:00Z");
+ my $tickets = RT::Tickets->new($user_m);
+ $tickets->FromSQL("'CustomField.{$cf_name}' = 'tomorrow' AND id = $tid");
+ is( $tickets->Count, 0);
+
+ set_fixed_time("2013-02-10T23:10:00Z");
+ $tickets = RT::Tickets->new($user_m);
+ $tickets->FromSQL("'CustomField.{$cf_name}' = 'tomorrow' AND id = $tid");
+ is( $tickets->Count, 1);
+
+ set_fixed_time("2013-02-10T23:10:00Z");
+ $tickets = RT::Tickets->new($user_b);
+ $tickets->FromSQL("'CustomField.{$cf_name}' = 'tomorrow' AND id = $tid");
+ is( $tickets->Count, 1);
+
+ set_fixed_time("2013-02-10T02:10:00Z");
+ $tickets = RT::Tickets->new($user_b);
+ $tickets->FromSQL("'CustomField.{$cf_name}' = 'tomorrow' AND id = $tid");
+ is( $tickets->Count, 0);
+}
+