1<?php 2/** 3 * @category Horde 4 * @package Icalendar 5 * @subpackage UnitTests 6 */ 7 8/** 9 * @category Horde 10 * @package Icalendar 11 * @subpackage UnitTests 12 */ 13class Horde_Icalendar_AttributeTest extends Horde_Test_Case 14{ 15 public function testDates() 16 { 17 $ical = new Horde_Icalendar(); 18 $ical->parsevCalendar(file_get_contents(__DIR__ . '/fixtures/date.ics')); 19 $this->assertEquals( 20 0, 21 $ical->getComponent(0)->getAttribute('DTSTART') 22 ); 23 $this->assertEquals( 24 'BORKED', 25 $ical->getComponent(0)->getAttribute('DTEND') 26 ); 27 } 28 29 public function testOrg() 30 { 31 $ical = new Horde_Icalendar(); 32 $ical->parsevCalendar(file_get_contents(__DIR__ . '/fixtures/org.vcf')); 33 $this->assertEquals( 34 array( 35 'My Organization', 36 'My Unit' 37 ), 38 $ical->getComponent(0)->getAttributeValues('ORG') 39 ); 40 } 41 42 public function testGeo() 43 { 44 $ical = new Horde_Icalendar(); 45 $ical->parsevCalendar(file_get_contents(__DIR__ . '/fixtures/geo1.vcf')); 46 $this->assertEquals( 47 array( 48 'latitude' => -17.87, 49 'longitude' => 37.24, 50 ), 51 $ical->getComponent(0)->getAttribute('GEO') 52 ); 53 $ical->parsevCalendar(file_get_contents(__DIR__ . '/fixtures/geo2.vcf')); 54 $this->assertEquals( 55 array( 56 'latitude' => 37.386013, 57 'longitude' => -122.082932, 58 ), 59 $ical->getComponent(0)->getAttribute('GEO') 60 ); 61 } 62 63 public function testAddress() 64 { 65 $ical = new Horde_Icalendar(); 66 $ical->parsevCalendar(file_get_contents(__DIR__ . '/fixtures/contact.vcf')); 67 $this->assertEquals(array( 68 '', 69 '', 70 '123 Main St', 71 'Smallville', 72 'NJ', 73 '08111', 74 'United States' 75 ), 76 $ical->getComponent(0)->getAttributeValues('ADR') 77 ); 78 $this->assertEquals( 79 "123 Main St\nSmallville, NJ 08111", 80 $ical->getComponent(0)->getAttribute('LABEL') 81 ); 82 } 83 84 public function testIgnoringMultipleAttributeValues() 85 { 86 $ical = new Horde_Icalendar(); 87 $ical->parsevCalendar( 88 file_get_contents(__DIR__ . '/fixtures/multiple-summary.ics') 89 ); 90 91 $result = $ical->getComponent(0)->getAttributeSingle('SUMMARY'); 92 93 $this->assertInternalType('string', $result); 94 95 $this->assertEquals( 96 'Summary 1', 97 $result 98 ); 99 } 100 101} 102