addData(array(), 'value'); } /** * @expectedException Zend_Mobile_Push_Message_Exception */ public function testAddDataThrowsExceptionOnNonScalarValue() { $msg = new Zend_Mobile_Push_Message_Gcm(); $msg->addData('key', new stdClass); } public function testSetData() { $data = array('key' => 'value'); $data2 = array('key2' => 'value2'); $msg = new Zend_Mobile_Push_Message_Gcm(); $msg->setData($data); $this->assertEquals($data, $msg->getData()); $msg->setData($data2); $this->assertEquals($data2, $msg->getData()); } public function testTokens() { $msg = new Zend_Mobile_Push_Message_Gcm(); $msg->setToken('foo'); $this->assertEquals(array('foo'), $msg->getToken()); $msg->setToken(array('foo', 'bar')); $this->assertEquals(array('foo', 'bar'), $msg->getToken()); $msg->setToken('bar'); $msg->addToken('foo'); $this->assertEquals(array('bar', 'foo'), $msg->getToken()); $msg->clearToken(); $this->assertEquals(array(), $msg->getToken()); } public function testDelayWhileIdle() { $msg = new Zend_Mobile_Push_Message_Gcm(); $msg->setDelayWhileIdle(true); $this->assertTrue($msg->getDelayWhileIdle()); $msg->setDelayWhileIdle(false); $this->assertFalse($msg->getDelayWhileIdle()); } /** * @expectedException Zend_Mobile_Push_Message_Exception */ public function testDelayWhileIdleThrowsExceptionOnInvalidValue() { $msg = new Zend_Mobile_Push_Message_Gcm(); $msg->setDelayWhileIdle('true'); } public function testTtl() { $msg = new Zend_Mobile_Push_Message_Gcm(); $msg->setTtl(10); $this->assertEquals(10, $msg->getTtl()); } /** * @expectedException Zend_Mobile_Push_Message_Exception */ public function testTtlThrowsExceptionOnInvalidValue() { $msg = new Zend_Mobile_Push_Message_Gcm(); $msg->setTtl('foo'); } public function testValidateWithoutTokenReturnsFalse() { $msg = new Zend_Mobile_Push_Message_Gcm(); $this->assertFalse($msg->validate()); } public function testValidateToken() { $msg = new Zend_Mobile_Push_Message_Gcm(); $msg->setToken('a-token!'); $this->assertTrue($msg->validate()); } public function testValidateWithTtlAndNoIdReturnsFalse() { $msg = new Zend_Mobile_Push_Message_Gcm(); $msg->setToken('foo'); $msg->setTtl(10); $this->assertFalse($msg->validate()); } }