Skip to content

Commit

Permalink
Merge 9a9be4d into 89d609e
Browse files Browse the repository at this point in the history
  • Loading branch information
p-golovin committed Feb 21, 2018
2 parents 89d609e + 9a9be4d commit 2ffb6b0
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 3 deletions.
37 changes: 34 additions & 3 deletions src/main/php/Gomoob/Pushwoosh/Model/Notification/Chrome.php
Expand Up @@ -43,6 +43,13 @@ class Chrome implements \JsonSerializable
*/
private $image;

/**
* Changes chrome push display time. Set to 0 to display push until user interacts with it
*
* @var int
*/
private $duration;

/**
* Utility function used to create a new Chrome instance.
*
Expand Down Expand Up @@ -76,7 +83,7 @@ public function getIcon()
/**
* Gets the header of the message.
*
* @var string The header of the message.
* @return string The header of the message.
*/
public function getTitle()
{
Expand All @@ -86,12 +93,22 @@ public function getTitle()
/**
* Gets the image of the message.
*
* @var string The image of the message.
* @return string The image of the message.
*/
public function getImage()
{
return $this->image;
}

/**
* Gets the duration
*
* @return int
*/
public function getDuration()
{
return $this->duration;
}

/**
* {@inheritdoc}
Expand All @@ -104,9 +121,9 @@ public function jsonSerialize()
isset($this->icon) ? $json['chrome_icon'] = $this->icon : false;
isset($this->title) ? $json['chrome_title'] = $this->title : false;
isset($this->image) ? $json['chrome_image'] = $this->image : false;
isset($this->duration) ? $json['chrome_duration'] = $this->duration : false;

return $json;

}

/**
Expand Down Expand Up @@ -164,4 +181,18 @@ public function setImage($image)

return $this;
}

/**
* Sets the duration
*
* @param $duration
*
* @return \Gomoob\Pushwoosh\Model\Notification\Chrome this instance.
*/
public function setDuration($duration)
{
$this->duration = $duration;

return $this;
}
}
12 changes: 12 additions & 0 deletions src/test/php/Gomoob/Pushwoosh/Model/Notification/ChromeTest.php
Expand Up @@ -65,6 +65,16 @@ public function testGetSetImage()
$this->assertSame($chrome, $chrome->setImage('Image'));
$this->assertSame('Image', $chrome->getImage());
}

/**
* Test method for the <code>#getDuration()</code> and <code>#setDuration($image)</code> functions.
*/
public function testGetSetDuration()
{
$chrome = new Chrome();
$this->assertSame($chrome, $chrome->setDuration(120));
$this->assertSame(120, $chrome->getDuration());
}

/**
* Test method for the <code>#jsonSerialize()</code> function.
Expand All @@ -76,12 +86,14 @@ public function testJsonSerialize()
->setIcon('icon')
->setTitle('Title')
->setImage('Image')
->setDuration(120)
->jsonSerialize();

$this->assertCount(4, $array);
$this->assertSame(3600, $array['chrome_gcm_ttl']);
$this->assertSame('icon', $array['chrome_icon']);
$this->assertSame('Title', $array['chrome_title']);
$this->assertSame('Image', $array['chrome_image']);
$this->assertSame(120, $array['chrome_duration']);
}
}

0 comments on commit 2ffb6b0

Please sign in to comment.