diff --git a/src/main/php/Gomoob/Pushwoosh/Model/Notification/Chrome.php b/src/main/php/Gomoob/Pushwoosh/Model/Notification/Chrome.php index 3a3df26..1335867 100644 --- a/src/main/php/Gomoob/Pushwoosh/Model/Notification/Chrome.php +++ b/src/main/php/Gomoob/Pushwoosh/Model/Notification/Chrome.php @@ -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. * @@ -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() { @@ -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} @@ -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; - } /** @@ -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; + } } diff --git a/src/test/php/Gomoob/Pushwoosh/Model/Notification/ChromeTest.php b/src/test/php/Gomoob/Pushwoosh/Model/Notification/ChromeTest.php index 73d41af..5b970e9 100644 --- a/src/test/php/Gomoob/Pushwoosh/Model/Notification/ChromeTest.php +++ b/src/test/php/Gomoob/Pushwoosh/Model/Notification/ChromeTest.php @@ -65,6 +65,16 @@ public function testGetSetImage() $this->assertSame($chrome, $chrome->setImage('Image')); $this->assertSame('Image', $chrome->getImage()); } + + /** + * Test method for the #getDuration() and #setDuration($image) functions. + */ + public function testGetSetDuration() + { + $chrome = new Chrome(); + $this->assertSame($chrome, $chrome->setDuration(120)); + $this->assertSame(120, $chrome->getDuration()); + } /** * Test method for the #jsonSerialize() function. @@ -76,12 +86,14 @@ public function testJsonSerialize() ->setIcon('icon') ->setTitle('Title') ->setImage('Image') + ->setDuration(120) ->jsonSerialize(); - $this->assertCount(4, $array); + $this->assertCount(5, $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']); } }