public function testDiff() { $tz = date_default_timezone_get(); date_default_timezone_set('Europe/Paris'); stub($this->base_language)->getText('system', 'datefmt_short')->returns(Tracker_FormElement_DateFormatter::DATE_FORMAT); stub($this->field)->formatDateForDisplay(1221221466)->returns("2008-09-12"); stub($this->field)->formatDateForDisplay(1234567890)->returns("2009-02-14"); $date_1 = new Tracker_Artifact_ChangesetValue_Date(111, $this->field, false, 1221221466); $date_2 = new Tracker_Artifact_ChangesetValue_Date(111, $this->field, false, 1234567890); $this->assertEqual($date_1->diff($date_2), 'changed from 2009-02-14 to 2008-09-12'); $this->assertEqual($date_2->diff($date_1), 'changed from 2008-09-12 to 2009-02-14'); date_default_timezone_set($tz); }
function testDiff() { $tz = ini_get('date.timezone'); ini_set('date.timezone', 'Europe/Paris'); $GLOBALS['Language']->setReturnValue('getText', "changed from", array('plugin_tracker_artifact', 'changed_from')); $GLOBALS['Language']->setReturnValue('getText', "to", array('plugin_tracker_artifact', 'to')); $GLOBALS['Language']->setReturnValue('getText', "Y-m-d", array('system', 'datefmt_short')); $field = new MockTracker_FormElement_Field_Date(); $date_1 = new Tracker_Artifact_ChangesetValue_Date(111, $field, false, 1221221466); $date_2 = new Tracker_Artifact_ChangesetValue_Date(111, $field, false, 1234567890); $this->assertEqual($date_1->diff($date_2), 'changed from 2009-02-14 to 2008-09-12'); $this->assertEqual($date_2->diff($date_1), 'changed from 2008-09-12 to 2009-02-14'); ini_set('date.timezone', $tz); }
function testDiff() { $tz = date_default_timezone_get(); date_default_timezone_set('Europe/Paris'); $GLOBALS['Language']->setReturnValue('getText', "changed from", array('plugin_tracker_artifact', 'changed_from')); $GLOBALS['Language']->setReturnValue('getText', "to", array('plugin_tracker_artifact', 'to')); $GLOBALS['Language']->setReturnValue('getText', Tracker_FormElement_DateFormatter::DATE_FORMAT, array('system', 'datefmt_short')); $field = new MockTracker_FormElement_Field_Date(); stub($field)->formatDateForDisplay(1221221466)->returns("2008-09-12"); stub($field)->formatDateForDisplay(1234567890)->returns("2009-02-14"); $date_1 = new Tracker_Artifact_ChangesetValue_Date(111, $field, false, 1221221466); $date_2 = new Tracker_Artifact_ChangesetValue_Date(111, $field, false, 1234567890); $this->assertEqual($date_1->diff($date_2), 'changed from 2009-02-14 to 2008-09-12'); $this->assertEqual($date_2->diff($date_1), 'changed from 2008-09-12 to 2009-02-14'); date_default_timezone_set($tz); }
/** * Returns diff between current date and date in param * * @param Tracker_Artifact_ChangesetValue_Date $changeset_value the changeset value to compare * * @return string The difference between another $changeset_value, false if no differneces */ public function diff($changeset_value, $format = 'html') { $next_date = $this->getDate(); if ($changeset_value->getTimestamp() != 0) { $previous_date = $changeset_value->getDate(); if ($previous_date !== $next_date) { if ($next_date === '') { return $GLOBALS['Language']->getText('plugin_tracker_artifact', 'cleared'); } else { return $GLOBALS['Language']->getText('plugin_tracker_artifact', 'changed_from') . ' ' . $previous_date . ' ' . $GLOBALS['Language']->getText('plugin_tracker_artifact', 'to') . ' ' . $next_date; } } } else { return $GLOBALS['Language']->getText('plugin_tracker_artifact', 'set_to') . ' ' . $next_date; } return false; }
/** * Fetch the html code to display the field value in artifact in read only mode * * @param Tracker_Artifact $artifact The artifact * @param Tracker_Artifact_ChangesetValue $value The actual value of the field * * @return string */ public function fetchArtifactValueReadOnly(Tracker_Artifact $artifact, Tracker_Artifact_ChangesetValue $value = null) { $html = ''; if (!$value) { $value = new Tracker_Artifact_ChangesetValue_Date(null, $this, false, $artifact->getSubmittedOn()); } $timestamp = $value->getTimestamp(); $value = $timestamp ? $this->formatDateForDisplay($timestamp) : ''; $html .= $value; return $html; }