TrackChange doesn't handle all return types of \DateTime::createFromFormat(...) (#1584)
* Added boolean check before setting the date
This commit is contained in:
parent
9958a4825f
commit
81a1b2acff
@ -58,13 +58,13 @@ class TrackChange extends AbstractContainer
|
|||||||
*
|
*
|
||||||
* @param string $changeType
|
* @param string $changeType
|
||||||
* @param string $author
|
* @param string $author
|
||||||
* @param null|int|\DateTime $date
|
* @param null|int|bool|\DateTime $date
|
||||||
*/
|
*/
|
||||||
public function __construct($changeType = null, $author = null, $date = null)
|
public function __construct($changeType = null, $author = null, $date = null)
|
||||||
{
|
{
|
||||||
$this->changeType = $changeType;
|
$this->changeType = $changeType;
|
||||||
$this->author = $author;
|
$this->author = $author;
|
||||||
if ($date !== null) {
|
if ($date !== null && $date !== false) {
|
||||||
$this->date = ($date instanceof \DateTime) ? $date : new \DateTime('@' . $date);
|
$this->date = ($date instanceof \DateTime) ? $date : new \DateTime('@' . $date);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -41,4 +41,22 @@ class TrackChangeTest extends \PHPUnit\Framework\TestCase
|
|||||||
$this->assertEquals($date, $oTrackChange->getDate());
|
$this->assertEquals($date, $oTrackChange->getDate());
|
||||||
$this->assertEquals(TrackChange::INSERTED, $oTrackChange->getChangeType());
|
$this->assertEquals(TrackChange::INSERTED, $oTrackChange->getChangeType());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* New instance with invalid \DateTime (produced by \DateTime::createFromFormat(...))
|
||||||
|
*/
|
||||||
|
public function testConstructDefaultWithInvalidDate()
|
||||||
|
{
|
||||||
|
$author = 'Test User';
|
||||||
|
$date = false;
|
||||||
|
$oTrackChange = new TrackChange(TrackChange::INSERTED, $author, $date);
|
||||||
|
|
||||||
|
$oText = new Text('dummy text');
|
||||||
|
$oText->setTrackChange($oTrackChange);
|
||||||
|
|
||||||
|
$this->assertInstanceOf('PhpOffice\\PhpWord\\Element\\TrackChange', $oTrackChange);
|
||||||
|
$this->assertEquals($author, $oTrackChange->getAuthor());
|
||||||
|
$this->assertEquals($date, null);
|
||||||
|
$this->assertEquals(TrackChange::INSERTED, $oTrackChange->getChangeType());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user