Changeset 758
- Timestamp:
- 07/10/07 15:25:06 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/main/php/net/stubbles/util/datespan/stubDateSpan.php
r695 r758 14 14 * @subpackage util_datespan 15 15 */ 16 interface stubDateSpan extends stubObject 16 interface stubDateSpan extends stubObject, stubSerializable 17 17 { 18 18 /** trunk/src/main/php/net/stubbles/util/datespan/stubDateSpanCustom.php
r695 r758 17 17 * @subpackage util_datespan 18 18 */ 19 class stubDateSpanCustom extends stub BaseObject implements stubDateSpan19 class stubDateSpanCustom extends stubSerializableObject implements stubDateSpan 20 20 { 21 21 /** … … 147 147 return false; 148 148 } 149 150 /** 151 * takes care of serializing the value 152 * 153 * @param array $propertiesToSerialize list of properties to serialize 154 * @param string $name name of the property to serialize 155 * @param mixed $value value to serialize 156 */ 157 protected function __doSerialize(&$propertiesToSerialize, $name, $value) 158 { 159 if ('from' == $name || 'to' == $name) { 160 $this->_serializedProperties[$name] = $value->format('c'); 161 return; 162 } 163 164 parent::__doSerialize($propertiesToSerialize, $name, $value); 165 } 166 167 /** 168 * takes care of unserializing the value 169 * 170 * @param string $name name of the property 171 * @param mixed $serializedValue value of the property 172 */ 173 protected function __doUnserialize($name, $serializedValue) 174 { 175 if ('from' == $name || 'to' == $name) { 176 $this->$name = new DateTime($serializedValue); 177 return; 178 } 179 180 parent::__doUnserialize($name, $serializedValue); 181 } 149 182 } 150 183 ?> trunk/src/test/php/net/stubbles/util/datespan/stubDateSpanCustomTestCase.php
r695 r758 48 48 $this->assertFalse($dateSpanCustom->isFuture()); 49 49 } 50 51 /** 52 * test that serializing and unserializing a datespan works as expected 53 */ 54 public function testSerializing() 55 { 56 $dateSpanCustom = new stubDateSpanCustom('2007-05-14', '2007-05-27'); 57 $serialized = serialize($dateSpanCustom); 58 $unserialized = unserialize($serialized); 59 $this->assertEqual($unserialized->getStartDate()->format('Y-m-d'), $dateSpanCustom->getStartDate()->format('Y-m-d')); 60 $this->assertEqual($unserialized->getEndDate()->format('Y-m-d'), $dateSpanCustom->getEndDate()->format('Y-m-d')); 61 } 50 62 } 51 63 ?>
