<?php
namespace WebPower\gcm\server;
class MessageTest extends \PHPUnit_Framework_TestCase
{
public function testRequiredParameters()
{
$message = Message::builder()->build();
$this->assertNull($message->getCollapseKey());
$this->assertNull($message->isDelayWhileIdle());
$this->assertEmpty($message->getData());
$this->assertNull($message->getTimeToLive());
$toString = $message->__toString();
$this->assertNotContains('collapsekey', $toString);
$this->assertNotContains('timeToLive', $toString);
$this->assertNotContains('delayWhileIdle', $toString);
$this->assertNotContains('data', $toString);
}
public function testOptionalParameters()
{
$message = Message::builder()
->collapseKey('108')
->delayWhileIdle(true)
->timeToLive(42)
->addData('k1', 'old value')
->addData('k1', 'v1')
->addData('k2', 'v2')
->build()
;
$this->assertEquals("108", $message->getCollapseKey());
$this->assertTrue($message->isDelayWhileIdle());
$this->assertEquals(42, $message->getTimeToLive());
$data = $message->getData();
$this->assertEquals(2, count($data));
$this->assertEquals('v1', $data['k1']);
$this->assertEquals('v2', $data['k2']);
$toString = $message->__toString();
$this->assertContains('collapseKey=108', $toString);
$this->assertContains('timeToLive=42', $toString);
$this->assertContains('delayWhileIdle=true', $toString);
$this->assertContains('k1=v1', $toString);
$this->assertContains('k2=v2', $toString);
}
}
|