[Rt-commit] rt branch, 4.2/date-isset, updated. rt-4.2.4-8-gb4c54fa

Alex Vandiver alexmv at bestpractical.com
Thu May 15 17:49:49 EDT 2014


The branch, 4.2/date-isset has been updated
       via  b4c54fafda0fe31aa47df381f4ae9d5ae5f1add2 (commit)
      from  5149153fe8c63cac98b43e24e33f229e1beb9f0c (commit)

Summary of changes:
 lib/RT/Action/CreateTickets.pm                  |  2 +-
 lib/RT/Action/EscalatePriority.pm               |  2 +-
 lib/RT/Action/LinearEscalate.pm                 |  9 ++--
 lib/RT/Condition/BeforeDue.pm                   |  2 +-
 lib/RT/Condition/Overdue.pm                     |  2 +-
 lib/RT/Date.pm                                  |  2 +-
 lib/RT/Interface/Web.pm                         |  4 +-
 lib/RT/SearchBuilder.pm                         |  2 +-
 lib/RT/Ticket.pm                                |  2 +-
 share/html/Approvals/Elements/PendingMyApproval |  4 +-
 share/html/Elements/RT__Ticket/ColumnMap        |  2 +-
 share/html/Elements/ShowReminders               |  2 +-
 share/html/Elements/ValidateCustomFields        |  2 +-
 share/html/NoAuth/iCal/dhandler                 |  4 +-
 share/html/Ticket/Create.html                   |  2 +-
 share/html/Ticket/Elements/Reminders            |  2 +-
 share/html/Ticket/Elements/ShowDates            |  2 +-
 share/html/m/ticket/create                      |  2 +-
 share/html/m/ticket/show                        |  2 +-
 t/api/date.t                                    | 18 ++++----
 t/api/ticket.t                                  |  2 +-
 t/lifecycles/dates.t                            | 56 ++++++++++++-------------
 t/security/CVE-2011-5092-graph-links.t          |  4 +-
 23 files changed, 65 insertions(+), 66 deletions(-)

- Log -----------------------------------------------------------------
commit b4c54fafda0fe31aa47df381f4ae9d5ae5f1add2
Author: Alex Vandiver <alexmv at bestpractical.com>
Date:   Thu May 15 17:49:41 2014 -0400

    Use the new ->IsSet method, rather than checking vs ->Unix

diff --git a/lib/RT/Action/CreateTickets.pm b/lib/RT/Action/CreateTickets.pm
index a88a6ee..5fa64f9 100644
--- a/lib/RT/Action/CreateTickets.pm
+++ b/lib/RT/Action/CreateTickets.pm
@@ -691,7 +691,7 @@ sub ParseLines {
             eval {
                 $dateobj->Set( Format => 'iso', Value => $args{$date} );
             };
-            if ($@ or $dateobj->Unix <= 0) {
+            if ($@ or not $dateobj->IsSet) {
                 $dateobj->Set( Format => 'unknown', Value => $args{$date} );
             }
         }
diff --git a/lib/RT/Action/EscalatePriority.pm b/lib/RT/Action/EscalatePriority.pm
index 046d6dd..344604c 100644
--- a/lib/RT/Action/EscalatePriority.pm
+++ b/lib/RT/Action/EscalatePriority.pm
@@ -104,7 +104,7 @@ sub Prepare  {
 
     # If we don't have a due date, adjust the priority by one
     # until we hit the final priority
-    if ($due->Unix() < 1) {
+    if (not $due->IsSet) {
         if ( $self->TicketObj->Priority > $self->TicketObj->FinalPriority ){
             $self->{'prio'} = ($self->TicketObj->Priority - 1);
             return 1;
diff --git a/lib/RT/Action/LinearEscalate.pm b/lib/RT/Action/LinearEscalate.pm
index e6260aa..fb2f6ea 100644
--- a/lib/RT/Action/LinearEscalate.pm
+++ b/lib/RT/Action/LinearEscalate.pm
@@ -155,8 +155,7 @@ sub Prepare {
 
     my $ticket = $self->TicketObj;
 
-    my $due = $ticket->DueObj->Unix;
-    unless ( $due > 0 ) {
+    unless ( $ticket->DueObj->IsSet ) {
         $RT::Logger->debug('Due is not set. Not escalating.');
         return 1;
     }
@@ -181,9 +180,8 @@ sub Prepare {
     # now we know we have a due date. for every day that passes,
     # increment priority according to the formula
 
-    my $starts         = $ticket->StartsObj->Unix;
-    $starts            = $ticket->CreatedObj->Unix unless $starts > 0;
-    my $now            = time;
+    my $starts = $ticket->StartsObj->IsSet ? $ticket->StartsObj->Unix : $ticket->CreatedObj->Unix;
+    my $now    = time;
 
     # do nothing if we didn't reach starts or created date
     if ( $starts > $now ) {
@@ -191,6 +189,7 @@ sub Prepare {
         return 1;
     }
 
+    my $due = $ticket->DueObj->Unix;
     $due = $starts + 1 if $due <= $starts; # +1 to avoid div by zero
 
     my $percent_complete = ($now-$starts)/($due - $starts);
diff --git a/lib/RT/Condition/BeforeDue.pm b/lib/RT/Condition/BeforeDue.pm
index 7e5f1f7..fa7f364 100644
--- a/lib/RT/Condition/BeforeDue.pm
+++ b/lib/RT/Condition/BeforeDue.pm
@@ -86,7 +86,7 @@ sub IsApplicable {
     my $cur = RT::Date->new( RT->SystemUser );
     $cur->SetToNow();
     my $due = $self->TicketObj->DueObj;
-    return (undef) if $due->Unix <= 0;
+    return (undef) unless $due->IsSet;
 
     my $diff = $due->Diff($cur);
     if ( $diff >= 0 and $diff <= $elapse ) {
diff --git a/lib/RT/Condition/Overdue.pm b/lib/RT/Condition/Overdue.pm
index bf044f8..444e373 100644
--- a/lib/RT/Condition/Overdue.pm
+++ b/lib/RT/Condition/Overdue.pm
@@ -70,7 +70,7 @@ If the due date is before "now" return true
 
 sub IsApplicable {
     my $self = shift;
-    if ($self->TicketObj->DueObj->Unix > 0 and
+    if ($self->TicketObj->DueObj->IsSet and
         $self->TicketObj->DueObj->Unix < time())  {
         return(1);
     }
diff --git a/lib/RT/Date.pm b/lib/RT/Date.pm
index 8a2dfa0..ccd23ae 100644
--- a/lib/RT/Date.pm
+++ b/lib/RT/Date.pm
@@ -463,7 +463,7 @@ sub AsString {
     my $self = shift;
     my %args = (@_);
 
-    return $self->loc("Not set") unless $self->Unix > 0;
+    return $self->loc("Not set") unless $self->IsSet;
 
     my $format = RT->Config->Get( 'DateTimeFormat', $self->CurrentUser ) || 'DefaultFormat';
     $format = { Format => $format } unless ref $format;
diff --git a/lib/RT/Interface/Web.pm b/lib/RT/Interface/Web.pm
index 439255c..c1eb0e1 100644
--- a/lib/RT/Interface/Web.pm
+++ b/lib/RT/Interface/Web.pm
@@ -2968,7 +2968,7 @@ sub ProcessTicketReminders {
                     Format => 'unknown',
                     Value  => $due,
                 );
-                if ( defined $DateObj->Unix
+                if ( $DateObj->IsSet
                     && $DateObj->Unix != $reminder->DueObj->Unix )
                 {
                     ( $status, $msg ) = $reminder->SetDue( $DateObj->ISO );
@@ -3429,7 +3429,7 @@ sub ProcessTicketDates {
         );
 
         my $obj = $field . "Obj";
-        if (    ( defined $DateObj->Unix )
+        if (    ( $DateObj->IsSet )
             and ( $DateObj->Unix != $Ticket->$obj()->Unix() ) )
         {
             my $method = "Set$field";
diff --git a/lib/RT/SearchBuilder.pm b/lib/RT/SearchBuilder.pm
index aaff9f1..b8b2c2f 100644
--- a/lib/RT/SearchBuilder.pm
+++ b/lib/RT/SearchBuilder.pm
@@ -604,7 +604,7 @@ sub _LimitCustomField {
         } elsif ( $type =~ /^Date(?:Time)?$/ ) {
             my $date = RT::Date->new( $self->CurrentUser );
             $date->Set( Format => 'unknown', Value => $value );
-            if ( $date->Unix ) {
+            if ( $date->IsSet ) {
                 if (
                        $type eq 'Date'
                            # Heuristics to determine if a date, and not
diff --git a/lib/RT/Ticket.pm b/lib/RT/Ticket.pm
index c804270..46577e4 100644
--- a/lib/RT/Ticket.pm
+++ b/lib/RT/Ticket.pm
@@ -2376,7 +2376,7 @@ sub _SetStatus {
     if ( $args{SetStarted}
              && $args{Lifecycle}->IsInitial($old)
              && !$args{NewLifecycle}->IsInitial($args{Status})
-             && !$raw_started->Unix) {
+             && !$raw_started->IsSet) {
         # Set the Started time to "now"
         $self->_Set(
             Field             => 'Started',
diff --git a/share/html/Approvals/Elements/PendingMyApproval b/share/html/Approvals/Elements/PendingMyApproval
index 96d3e86..c77a021 100644
--- a/share/html/Approvals/Elements/PendingMyApproval
+++ b/share/html/Approvals/Elements/PendingMyApproval
@@ -70,9 +70,9 @@
 <input type="checkbox" class="checkbox" value="1" id="ShowDependent" name="ShowDependent" <% defined($ARGS{'ShowDependent'}) && $ARGS{'ShowDependent'} && qq[checked="checked"] |n%> />
 <label for="ShowDependent"><&|/l&>Show requests awaiting other approvals</&></label><br />
 
-<&|/l_unsafe, qq{<input size='15' class="datepicker" value='}.($created_before->Unix > 0 &&$created_before->ISO(Timezone => 'user'))."' name='CreatedBefore' id='CreatedBefore' />"&>Only show approvals for requests created before [_1]</&><br />
+<&|/l_unsafe, qq{<input size='15' class="datepicker" value='}.($created_before->IsSet &&$created_before->ISO(Timezone => 'user'))."' name='CreatedBefore' id='CreatedBefore' />"&>Only show approvals for requests created before [_1]</&><br />
 
-<&|/l_unsafe, qq{<input size='15' class="datepicker" value='}.( $created_after->Unix >0 && $created_after->ISO(Timezone => 'user'))."' name='CreatedAfter' id='CreatedAfter' />"&>Only show approvals for requests created after [_1]</&>
+<&|/l_unsafe, qq{<input size='15' class="datepicker" value='}.( $created_after->IsSet && $created_after->ISO(Timezone => 'user'))."' name='CreatedAfter' id='CreatedAfter' />"&>Only show approvals for requests created after [_1]</&>
 </&>
 
 <%init>
diff --git a/share/html/Elements/RT__Ticket/ColumnMap b/share/html/Elements/RT__Ticket/ColumnMap
index 359a79d..b95a9ba 100644
--- a/share/html/Elements/RT__Ticket/ColumnMap
+++ b/share/html/Elements/RT__Ticket/ColumnMap
@@ -207,7 +207,7 @@ $COLUMN_MAP = {
         value     => sub { 
             my $date = $_[0]->DueObj;
             # Highlight the date if it was due in the past, and it's still active
-            if ( $date && $date->Unix > 0 && $date->Diff < 0 && $_[0]->QueueObj->IsActiveStatus($_[0]->Status)) {
+            if ( $date && $date->IsSet && $date->Diff < 0 && $_[0]->QueueObj->IsActiveStatus($_[0]->Status)) {
                 return (\'<span class="overdue">' , $date->AgeAsString , \'</span>');
             } else {
                 return $date->AgeAsString;
diff --git a/share/html/Elements/ShowReminders b/share/html/Elements/ShowReminders
index 85b2b70..aa2346c 100644
--- a/share/html/Elements/ShowReminders
+++ b/share/html/Elements/ShowReminders
@@ -57,7 +57,7 @@ my $i =0;
 while ( my $reminder = $reminders->Next ) {
 $i++;
 my $dueobj = $reminder->DueObj;
-my $overdue = $dueobj->Unix > 0 && $dueobj->Diff < 0 ? 1 : 0;
+my $overdue = $dueobj->IsSet && $dueobj->Diff < 0 ? 1 : 0;
 
 my $targets = RT::Tickets->new($session{'CurrentUser'});
 $targets->{'allow_deleted_search'} = 1;
diff --git a/share/html/Elements/ValidateCustomFields b/share/html/Elements/ValidateCustomFields
index 43f8ebd..fc0049b 100644
--- a/share/html/Elements/ValidateCustomFields
+++ b/share/html/Elements/ValidateCustomFields
@@ -88,7 +88,7 @@ while ( my $CF = $CustomFields->Next ) {
                 Value => $_,
                 ($CF->Type eq "Date" ? (Timezone => 'utc') : ())
             );
-            $DateObj->Unix > 0
+            $DateObj->IsSet
         } @values;
     }
     push @values, '' unless @values;
diff --git a/share/html/NoAuth/iCal/dhandler b/share/html/NoAuth/iCal/dhandler
index f7e51d5..e319754 100644
--- a/share/html/NoAuth/iCal/dhandler
+++ b/share/html/NoAuth/iCal/dhandler
@@ -86,9 +86,9 @@ $feed->add_properties('method'   => ['publish']);
 $feed->add_properties('prodid'   => ["-//" . RT->Config->Get('rtname') ."//"]);
 
 while (my $t = $tickets->Next) {
-    next unless $t->DueObj->Unix > 0;
+    next unless $t->DueObj->IsSet;
 
-    my $starttime = $t->StartsObj->Unix > 0 ? $t->StartsObj : $t->CreatedObj;
+    my $starttime = $t->StartsObj->IsSet ? $t->StartsObj : $t->CreatedObj;
 
     my $url;
     if ( RT->Config->Get('CanonicalizeURLsInFeeds') ) {
diff --git a/share/html/Ticket/Create.html b/share/html/Ticket/Create.html
index 57e66df..e1a2ea3 100644
--- a/share/html/Ticket/Create.html
+++ b/share/html/Ticket/Create.html
@@ -312,7 +312,7 @@ if ($CloneTicket) {
         Status TimeLeft/;
 
     $clone->{$_} = $CloneTicketObj->$_->AsString
-        for grep { $CloneTicketObj->$_->Unix }
+        for grep { $CloneTicketObj->$_->IsSet }
         map      { $_ . "Obj" } qw/Starts Started Due Resolved/;
 
     my $get_link_value = sub {
diff --git a/share/html/Ticket/Elements/Reminders b/share/html/Ticket/Elements/Reminders
index 0ce30ab..5e61b1d 100644
--- a/share/html/Ticket/Elements/Reminders
+++ b/share/html/Ticket/Elements/Reminders
@@ -190,7 +190,7 @@ $Ticket
 $Index
 </%args>
 % my $dueobj = $Reminder->DueObj;
-% my $overdue = $dueobj->Unix > 0 && $dueobj->Diff < 0 ? 1 : 0;
+% my $overdue = $dueobj->IsSet && $dueobj->Diff < 0 ? 1 : 0;
 <tr class="<% $Index%2 ? 'oddline' : 'evenline' %>" id="reminder-<% $Reminder->id %>">
 
 <td class="collection-as-table">
diff --git a/share/html/Ticket/Elements/ShowDates b/share/html/Ticket/Elements/ShowDates
index 986507b..9c8f985 100644
--- a/share/html/Ticket/Elements/ShowDates
+++ b/share/html/Ticket/Elements/ShowDates
@@ -65,7 +65,7 @@
   <tr class="date due">
     <td class="label"><&|/l&>Due</&>:</td>\
 % my $due = $Ticket->DueObj;
-% if ( $due && $due->Unix > 0 && $due->Diff < 0 ) {
+% if ( $due && $due->IsSet && $due->Diff < 0 ) {
     <td class="value"><span class="overdue"><% $due->AsString  %></span></td>
 % } else {
     <td class="value"><% $due->AsString  %></td>
diff --git a/share/html/m/ticket/create b/share/html/m/ticket/create
index af25bd0..42ebbec 100644
--- a/share/html/m/ticket/create
+++ b/share/html/m/ticket/create
@@ -87,7 +87,7 @@ if ($CloneTicket) {
         Status TimeLeft/;
 
     $clone->{$_} = $CloneTicketObj->$_->AsString
-        for grep { $CloneTicketObj->$_->Unix }
+        for grep { $CloneTicketObj->$_->IsSet }
         map      { $_ . "Obj" } qw/Starts Started Due Resolved/;
 
     my $get_link_value = sub {
diff --git a/share/html/m/ticket/show b/share/html/m/ticket/show
index bcc7fde..ddc532f 100644
--- a/share/html/m/ticket/show
+++ b/share/html/m/ticket/show
@@ -365,7 +365,7 @@ my $print_value = sub {
  <div class="entry">
     <div class="label date due"><&|/l&>Due</&>:</div>
 % my $due = $Ticket->DueObj;
-% if ( $due && $due->Unix > 0 && $due->Diff < 0 ) {
+% if ( $due && $due->IsSet && $due->Diff < 0 ) {
     <div class="value date due"><span class="overdue"><% $due->AsString  %></span></div>
 % } else {
     <div class="value date due"><% $due->AsString  %></div>
diff --git a/t/api/date.t b/t/api/date.t
index ec04b5a..1d746f8 100644
--- a/t/api/date.t
+++ b/t/api/date.t
@@ -241,7 +241,7 @@ warning_like
 { # bad format
     my $date = RT::Date->new(RT->SystemUser);
     $date->Set( Format => 'bad' );
-    is($date->Unix, 0, "bad format");
+    ok(!$date->IsSet, "bad format");
 } qr{Unknown Date format: bad};
 
 
@@ -269,7 +269,7 @@ my $year = (localtime(time))[5] + 1900;
     warning_like {
         $date->Set(Format => 'ISO', Value => 'weird date');
     } qr/Couldn't parse date 'weird date' as a ISO format/;
-    is($date->Unix, 0, "date was wrong => unix == 0");
+    ok(!$date->IsSet, "date was wrong => unix == 0");
 
     # XXX: ISO format has more feature than we suport
     # http://www.cl.cam.ac.uk/~mgk25/iso-time.html
@@ -301,15 +301,15 @@ my $year = (localtime(time))[5] + 1900;
     warning_like {
         $date->Set(Format => 'ISO', Value => '2005-13-28 15:10:00');
     } qr/Invalid date/;
-    is($date->Unix, 0, "wrong month value");
+    ok(!$date->IsSet, "wrong month value");
 
     warning_like {
         $date->Set(Format => 'ISO', Value => '2005-00-28 15:10:00');
     } qr/Invalid date/;
-    is($date->Unix, 0, "wrong month value");
+    ok(!$date->IsSet, "wrong month value");
 
     $date->Set(Format => 'ISO', Value => '1960-01-28 15:10:00');
-    is($date->Unix, 0, "too old, we don't support");
+    ok(!$date->IsSet, "too old, we don't support");
 }
 
 { # set+datemanip format(Time::ParseDate)
@@ -334,7 +334,7 @@ my $year = (localtime(time))[5] + 1900;
     warnings_like {
         $date->Set(Format => 'unknown', Value => 'weird date');
     } qr{Couldn't parse date 'weird date' by Time::ParseDate};
-    is($date->Unix, 0, "date was wrong");
+    ok(!$date->IsSet, "date was wrong");
 
     RT->Config->Set( Timezone => 'Europe/Moscow' );
     $date->Set(Format => 'unknown', Value => '2005-11-28 15:10:00');
@@ -586,13 +586,13 @@ my $year = (localtime(time))[5] + 1900;
     # set unknown format: edge cases
     my $date = RT::Date->new(RT->SystemUser);
     $date->Set( Value => 0, Format => 'unknown' );
-    is( $date->Unix(), 0, "unix is 0 with Value => 0, Format => 'unknown'" );
+    ok( !$date->IsSet, "unix is 0 with Value => 0, Format => 'unknown'" );
 
     $date->Set( Value => '', Format => 'unknown' );
-    is( $date->Unix(), 0, "unix is 0 with Value => '', Format => 'unknown'" );
+    ok( !$date->IsSet, "unix is 0 with Value => '', Format => 'unknown'" );
 
     $date->Set( Value => ' ', Format => 'unknown' );
-    is( $date->Unix(), 0, "unix is 0 with Value => ' ', Format => 'unknown'" );
+    ok( !$date->IsSet, "unix is 0 with Value => ' ', Format => 'unknown'" );
 }
 
 #TODO: AsString
diff --git a/t/api/ticket.t b/t/api/ticket.t
index f174314..c5f1e24 100644
--- a/t/api/ticket.t
+++ b/t/api/ticket.t
@@ -100,7 +100,7 @@ ok( $t->Create(Queue => 'General', Due => '2002-05-21 00:00:00', ReferredToBy =>
 ok ( my $id = $t->Id, "Got ticket id");
 like ($t->RefersTo->First->Target , qr/fsck.com/, "Got refers to");
 like ($t->ReferredToBy->First->Base , qr/cpan.org/, "Got referredtoby");
-is ($t->ResolvedObj->Unix, 0, "It hasn't been resolved - ". $t->ResolvedObj->Unix);
+ok (!$t->ResolvedObj->IsSet, "It hasn't been resolved");
 
 
 }
diff --git a/t/lifecycles/dates.t b/t/lifecycles/dates.t
index af81d9e..0c74a1b 100644
--- a/t/lifecycles/dates.t
+++ b/t/lifecycles/dates.t
@@ -42,8 +42,8 @@ diag "dates on create for default schema";
             Status => 'new',
         );
         ok $id, 'created a ticket';
-        ok $ticket->StartedObj->Unix <= 0, 'started is not set';
-        ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set';
+        ok !$ticket->StartedObj->IsSet, 'started is not set';
+        ok !$ticket->ResolvedObj->IsSet, 'resolved is not set';
     }
     {
         my $ticket = RT::Ticket->new( RT->SystemUser );
@@ -53,8 +53,8 @@ diag "dates on create for default schema";
             Status => 'open',
         );
         ok $id, 'created a ticket';
-        ok $ticket->StartedObj->Unix > 0, 'started is set';
-        ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set';
+        ok $ticket->StartedObj->IsSet, 'started is set';
+        ok !$ticket->ResolvedObj->IsSet, 'resolved is not set';
     }
     {
         my $ticket = RT::Ticket->new( RT->SystemUser );
@@ -64,8 +64,8 @@ diag "dates on create for default schema";
             Status => 'resolved',
         );
         ok $id, 'created a ticket';
-        ok $ticket->StartedObj->Unix > 0, 'started is set';
-        ok $ticket->ResolvedObj->Unix > 0, 'resolved is set';
+        ok $ticket->StartedObj->IsSet, 'started is set';
+        ok $ticket->ResolvedObj->IsSet, 'resolved is set';
     }
 
     my $test_date = '2008-11-28 12:00:00';
@@ -135,7 +135,7 @@ diag "dates on create for delivery schema";
         is $ticket->Status, 'ordered', "Status is ordered";
         my ($statusval,$statusmsg) = $ticket->SetStatus('on way');
         ok($statusval,$statusmsg);
-        ok $ticket->StartedObj->Unix > 0, 'started is set to ' .$ticket->StartedObj->AsString ;
+        ok $ticket->StartedObj->IsSet, 'started is set to ' .$ticket->StartedObj->AsString ;
         is $ticket->ResolvedObj->Unix, 0, 'resolved is not set';
     }
     {
@@ -152,8 +152,8 @@ diag "dates on create for delivery schema";
         ($statusval,$statusmsg) = $ticket->SetStatus('delivered');
         ok($statusval,$statusmsg);
 
-        ok $ticket->StartedObj->Unix > 0, 'started is set';
-        ok $ticket->ResolvedObj->Unix > 0, 'resolved is set';
+        ok $ticket->StartedObj->IsSet, 'started is set';
+        ok $ticket->ResolvedObj->IsSet, 'resolved is set';
     }
 
     my $test_date = '2008-11-28 12:00:00';
@@ -215,30 +215,30 @@ diag "dates on status change for default schema";
         Status => 'new',
     );
     ok $id, 'created a ticket';
-    ok $ticket->StartedObj->Unix <= 0, 'started is not set';
-    ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set';
+    ok !$ticket->StartedObj->IsSet, 'started is not set';
+    ok !$ticket->ResolvedObj->IsSet, 'resolved is not set';
 
     (my $status, $msg) = $ticket->SetStatus('open');
     ok $status, 'changed status' or diag "error: $msg";
-    ok $ticket->StartedObj->Unix > 0, 'started is set';
-    ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set';
+    ok $ticket->StartedObj->IsSet, 'started is set';
+    ok !$ticket->ResolvedObj->IsSet, 'resolved is not set';
 
     my $started = $ticket->StartedObj->Unix;
 
     ($status, $msg) = $ticket->SetStatus('stalled');
     ok $status, 'changed status' or diag "error: $msg";
     is $ticket->StartedObj->Unix, $started, 'started is set and the same';
-    ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set';
+    ok !$ticket->ResolvedObj->IsSet, 'resolved is not set';
 
     ($status, $msg) = $ticket->SetStatus('open');
     ok $status, 'changed status' or diag "error: $msg";
     is $ticket->StartedObj->Unix, $started, 'started is set and the same';
-    ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set';
+    ok !$ticket->ResolvedObj->IsSet, 'resolved is not set';
 
     ($status, $msg) = $ticket->SetStatus('resolved');
     ok $status, 'changed status' or diag "error: $msg";
     is $ticket->StartedObj->Unix, $started, 'started is set and the same';
-    ok $ticket->ResolvedObj->Unix > 0, 'resolved is set';
+    ok $ticket->ResolvedObj->IsSet, 'resolved is set';
 }
 
 diag "dates on status change for delivery schema";
@@ -250,25 +250,25 @@ diag "dates on status change for delivery schema";
         Status => 'ordered',
     );
     ok $id, 'created a ticket';
-    ok $ticket->StartedObj->Unix <= 0, 'started is not set';
-    ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set';
+    ok !$ticket->StartedObj->IsSet, 'started is not set';
+    ok !$ticket->ResolvedObj->IsSet, 'resolved is not set';
 
     (my $status, $msg) = $ticket->SetStatus('delayed');
     ok $status, 'changed status' or diag "error: $msg";
-    ok $ticket->StartedObj->Unix > 0, 'started is set';
-    ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set';
+    ok $ticket->StartedObj->IsSet, 'started is set';
+    ok !$ticket->ResolvedObj->IsSet, 'resolved is not set';
 
     my $started = $ticket->StartedObj->Unix;
 
     ($status, $msg) = $ticket->SetStatus('on way');
     ok $status, 'changed status' or diag "error: $msg";
     is $ticket->StartedObj->Unix, $started, 'started is set and the same';
-    ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set';
+    ok !$ticket->ResolvedObj->IsSet, 'resolved is not set';
 
     ($status, $msg) = $ticket->SetStatus('delivered');
     ok $status, 'changed status' or diag "error: $msg";
     is $ticket->StartedObj->Unix, $started, 'started is set and the same';
-    ok $ticket->ResolvedObj->Unix > 0, 'resolved is set';
+    ok $ticket->ResolvedObj->IsSet, 'resolved is set';
 }
 
 diag "add partial map between general->delivery";
@@ -294,20 +294,20 @@ diag "check date changes on moving a ticket";
         Status => 'new',
     );
     ok $id, 'created a ticket';
-    ok $ticket->StartedObj->Unix <= 0, 'started is not set';
-    ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set';
+    ok !$ticket->StartedObj->IsSet, 'started is not set';
+    ok !$ticket->ResolvedObj->IsSet, 'resolved is not set';
 
     (my $status, $msg) = $ticket->SetQueue( $delivery->id );
     ok $status, "moved ticket between queues with different schemas";
     is $ticket->Status, 'on way', 'status has been changed';
-    ok $ticket->StartedObj->Unix > 0, 'started is set';
-    ok $ticket->ResolvedObj->Unix <= 0, 'resolved is not set';
+    ok $ticket->StartedObj->IsSet, 'started is set';
+    ok !$ticket->ResolvedObj->IsSet, 'resolved is not set';
 
     ($status, $msg) = $ticket->SetQueue( $general->id );
     ok $status, "moved ticket between queues with different schemas";
     is $ticket->Status, 'resolved', 'status has been changed';
-    ok $ticket->StartedObj->Unix > 0, 'started is set';
-    ok $ticket->ResolvedObj->Unix > 0, 'resolved is set';
+    ok $ticket->StartedObj->IsSet, 'started is set';
+    ok $ticket->ResolvedObj->IsSet, 'resolved is set';
 }
 
 done_testing;
diff --git a/t/security/CVE-2011-5092-graph-links.t b/t/security/CVE-2011-5092-graph-links.t
index c43f51c..31ef266 100644
--- a/t/security/CVE-2011-5092-graph-links.t
+++ b/t/security/CVE-2011-5092-graph-links.t
@@ -15,12 +15,12 @@ for my $arg (qw(LeadingLink ShowLinks)) {
     );
     ok $ticket->id, 'created ticket';
 
-    ok !$ticket->ToldObj->Unix, 'no Told';
+    ok !$ticket->ToldObj->IsSet, 'no Told';
     $m->get_ok("$base/Ticket/Graphs/index.html?$arg=SetTold;id=" . $ticket->id);
 
     $ticket->Load($ticket->id); # cache busting
 
-    ok !$ticket->ToldObj->Unix, 'still no Told';
+    ok !$ticket->ToldObj->IsSet, 'still no Told';
     $m->content_lacks('GotoFirstItem', 'no GotoFirstItem error');
     $m->content_like(qr|<img[^>]+?src=['"]/Ticket/Graphs/@{[$ticket->id]}|, 'found image element');
 }

-----------------------------------------------------------------------


More information about the rt-commit mailing list