예제 #1
0
 public function testCalendarAttendee()
 {
     $xparam1 = new \Zimbra\Mail\Struct\XParam('name1', 'value1');
     $xparam2 = new \Zimbra\Mail\Struct\XParam('name2', 'value2');
     $cal = new \Zimbra\Mail\Struct\CalendarAttendee(array($xparam1), 'a', 'url', 'd', 'sentBy', 'dir', 'lang', 'cutype', 'role', ParticipationStatus::NE(), true, 'member', 'delTo', 'delFrom');
     $this->assertSame(array($xparam1), $cal->xparam()->all());
     $this->assertSame('a', $cal->a());
     $this->assertSame('url', $cal->url());
     $this->assertSame('d', $cal->d());
     $this->assertSame('sentBy', $cal->sentBy());
     $this->assertSame('dir', $cal->dir());
     $this->assertSame('lang', $cal->lang());
     $this->assertSame('cutype', $cal->cutype());
     $this->assertSame('role', $cal->role());
     $this->assertTrue($cal->ptst()->is('NE'));
     $this->assertTrue($cal->rsvp());
     $this->assertSame('member', $cal->member());
     $this->assertSame('delTo', $cal->delTo());
     $this->assertSame('delFrom', $cal->delFrom());
     $cal->addXParam($xparam2);
     $this->assertSame(array($xparam1, $xparam2), $cal->xparam()->all());
     $cal->a('a')->url('url')->d('d')->sentBy('sentBy')->dir('dir')->lang('lang')->cutype('cutype')->role('role')->ptst(ParticipationStatus::AC())->rsvp(true)->member('member')->delTo('delTo')->delFrom('delFrom');
     $this->assertSame('a', $cal->a());
     $this->assertSame('url', $cal->url());
     $this->assertSame('d', $cal->d());
     $this->assertSame('sentBy', $cal->sentBy());
     $this->assertSame('dir', $cal->dir());
     $this->assertSame('lang', $cal->lang());
     $this->assertSame('cutype', $cal->cutype());
     $this->assertSame('role', $cal->role());
     $this->assertTrue($cal->ptst()->is('AC'));
     $this->assertTrue($cal->rsvp());
     $this->assertSame('member', $cal->member());
     $this->assertSame('delTo', $cal->delTo());
     $this->assertSame('delFrom', $cal->delFrom());
     $xml = '<?xml version="1.0"?>' . "\n" . '<at a="a" url="url" d="d" sentBy="sentBy" dir="dir" lang="lang" cutype="cutype" role="role" ptst="AC" rsvp="true" member="member" delTo="delTo" delFrom="delFrom">' . '<xparam name="name1" value="value1" />' . '<xparam name="name2" value="value2" />' . '</at>';
     $this->assertXmlStringEqualsXmlString($xml, (string) $cal);
     $array = array('at' => array('a' => 'a', 'url' => 'url', 'd' => 'd', 'sentBy' => 'sentBy', 'dir' => 'dir', 'lang' => 'lang', 'cutype' => 'cutype', 'role' => 'role', 'ptst' => 'AC', 'rsvp' => true, 'member' => 'member', 'delTo' => 'delTo', 'delFrom' => 'delFrom', 'xparam' => array(array('name' => 'name1', 'value' => 'value1'), array('name' => 'name2', 'value' => 'value2'))));
     $this->assertEquals($array, $cal->toArray());
 }