Mercurial > hg > rc1
comparison vendor/sabre/vobject/tests/VObject/ParameterTest.php @ 7:430dbd5346f7
vendor sabre as distributed
| author | Charlie Root |
|---|---|
| date | Sat, 13 Jan 2018 09:06:10 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 6:cec75ba50afc | 7:430dbd5346f7 |
|---|---|
| 1 <?php | |
| 2 | |
| 3 namespace Sabre\VObject; | |
| 4 | |
| 5 class ParameterTest extends \PHPUnit_Framework_TestCase { | |
| 6 | |
| 7 function testSetup() { | |
| 8 | |
| 9 $cal = new Component\VCalendar(); | |
| 10 | |
| 11 $param = new Parameter($cal, 'name','value'); | |
| 12 $this->assertEquals('NAME',$param->name); | |
| 13 $this->assertEquals('value',$param->getValue()); | |
| 14 | |
| 15 } | |
| 16 | |
| 17 function testSetupNameLess() { | |
| 18 | |
| 19 $card = new Component\VCard(); | |
| 20 | |
| 21 $param = new Parameter($card, null,'URL'); | |
| 22 $this->assertEquals('VALUE',$param->name); | |
| 23 $this->assertEquals('URL',$param->getValue()); | |
| 24 $this->assertTrue($param->noName); | |
| 25 | |
| 26 } | |
| 27 | |
| 28 function testModify() { | |
| 29 | |
| 30 $cal = new Component\VCalendar(); | |
| 31 | |
| 32 $param = new Parameter($cal, 'name', null); | |
| 33 $param->addValue(1); | |
| 34 $this->assertEquals(array(1), $param->getParts()); | |
| 35 | |
| 36 $param->setParts(array(1,2)); | |
| 37 $this->assertEquals(array(1,2), $param->getParts()); | |
| 38 | |
| 39 $param->addValue(3); | |
| 40 $this->assertEquals(array(1,2,3), $param->getParts()); | |
| 41 | |
| 42 $param->setValue(4); | |
| 43 $param->addValue(5); | |
| 44 $this->assertEquals(array(4,5), $param->getParts()); | |
| 45 | |
| 46 } | |
| 47 | |
| 48 function testCastToString() { | |
| 49 | |
| 50 $cal = new Component\VCalendar(); | |
| 51 $param = new Parameter($cal, 'name', 'value'); | |
| 52 $this->assertEquals('value',$param->__toString()); | |
| 53 $this->assertEquals('value',(string)$param); | |
| 54 | |
| 55 } | |
| 56 | |
| 57 function testCastNullToString() { | |
| 58 | |
| 59 $cal = new Component\VCalendar(); | |
| 60 $param = new Parameter($cal, 'name', null); | |
| 61 $this->assertEquals('',$param->__toString()); | |
| 62 $this->assertEquals('',(string)$param); | |
| 63 | |
| 64 } | |
| 65 | |
| 66 function testSerialize() { | |
| 67 | |
| 68 $cal = new Component\VCalendar(); | |
| 69 $param = new Parameter($cal, 'name', 'value'); | |
| 70 $this->assertEquals('NAME=value',$param->serialize()); | |
| 71 | |
| 72 } | |
| 73 | |
| 74 function testSerializeEmpty() { | |
| 75 | |
| 76 $cal = new Component\VCalendar(); | |
| 77 $param = new Parameter($cal, 'name', null); | |
| 78 $this->assertEquals('NAME=',$param->serialize()); | |
| 79 | |
| 80 } | |
| 81 | |
| 82 function testSerializeComplex() { | |
| 83 | |
| 84 $cal = new Component\VCalendar(); | |
| 85 $param = new Parameter($cal, 'name',array("val1", "val2;", "val3^", "val4\n", "val5\"")); | |
| 86 $this->assertEquals('NAME=val1,"val2;","val3^^","val4^n","val5^\'"',$param->serialize()); | |
| 87 | |
| 88 } | |
| 89 | |
| 90 /** | |
| 91 * iCal 7.0 (OSX 10.9) has major issues with the EMAIL property, when the | |
| 92 * value contains a plus sign, and it's not quoted. | |
| 93 * | |
| 94 * So we specifically added support for that. | |
| 95 */ | |
| 96 function testSerializePlusSign() { | |
| 97 | |
| 98 $cal = new Component\VCalendar(); | |
| 99 $param = new Parameter($cal, 'EMAIL',"user+something@example.org"); | |
| 100 $this->assertEquals('EMAIL="user+something@example.org"',$param->serialize()); | |
| 101 | |
| 102 } | |
| 103 | |
| 104 function testIterate() { | |
| 105 | |
| 106 $cal = new Component\VCalendar(); | |
| 107 | |
| 108 $param = new Parameter($cal, 'name', array(1,2,3,4)); | |
| 109 $result = array(); | |
| 110 | |
| 111 foreach($param as $value) { | |
| 112 $result[] = $value; | |
| 113 } | |
| 114 | |
| 115 $this->assertEquals(array(1,2,3,4), $result); | |
| 116 | |
| 117 } | |
| 118 | |
| 119 function testSerializeColon() { | |
| 120 | |
| 121 $cal = new Component\VCalendar(); | |
| 122 $param = new Parameter($cal, 'name','va:lue'); | |
| 123 $this->assertEquals('NAME="va:lue"',$param->serialize()); | |
| 124 | |
| 125 } | |
| 126 | |
| 127 function testSerializeSemiColon() { | |
| 128 | |
| 129 $cal = new Component\VCalendar(); | |
| 130 $param = new Parameter($cal, 'name','va;lue'); | |
| 131 $this->assertEquals('NAME="va;lue"',$param->serialize()); | |
| 132 | |
| 133 } | |
| 134 | |
| 135 } |
