Skip to content

Commit

Permalink
Tests: fix date comparison failure on PHP 7.1
Browse files Browse the repository at this point in the history
Since PHP 7.1, DateTime constructor incorporates microseconds [1].

This causes the testCreateIssueWithRareFields() case to fail comparing
the last_updated field, as the reference DateTime object now contains
microseconds whereas the underlying database fields does not (see failed
Travis build [2]).

1) IssueAddTest::testCreateIssueWithRareFields
Failed asserting that two DateTime objects are equal.
--- Expected
+++ Actual
@@ @@
-2017-01-05T12:28:55.533798+0000
+2017-01-05T12:28:55.000000+0000

The DateTime is now initialized from time() instead, so the microseconds
are set to 0.

Fixes #22114

[1] http://php.net/manual/en/migration71.incompatible.php
[2] https://travis-ci.org/mantisbt/mantisbt/jobs/189164182
  • Loading branch information
dregad committed Jan 5, 2017
1 parent 6e2901a commit da85ef7
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion tests/soap/IssueAddTest.php
Expand Up @@ -135,7 +135,7 @@ public function testCreateIssueWithRareFields() {
$t_issue_to_add['target_version'] = 'target version';
$t_issue_to_add['sticky'] = true;

$t_dt = new DateTime();
$t_dt = DateTime::createFromFormat( 'U', time() );
$t_issue_to_add['last_updated'] = $t_dt->format( DateTime::ISO8601 );

$t_issue_id = $this->client->mc_issue_add( $this->userName, $this->password, $t_issue_to_add );
Expand Down

0 comments on commit da85ef7

Please sign in to comment.