Changeset 1869

Show
Ignore:
Timestamp:
09/27/08 16:11:03 (3 months ago)
Author:
mikey
Message:

add useful xml conversion for date instances

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • framework/trunk/src/main/php/net/stubbles/lang/types/stubDate.php

    r1868 r1869  
    2020 * @package     stubbles 
    2121 * @subpackage  lang_types 
     22 * @XMLTag(tagName='date') 
    2223 */ 
    2324class stubDate extends stubSerializableObject 
     
    9495     * 
    9596     * @return  DateTime 
     97     * @XMLIgnore 
    9698     */ 
    9799    public function getHandle() 
     
    104106     * 
    105107     * @return  int 
     108     * @XMLIgnore 
    106109     */ 
    107110    public function getTimestamp() 
     
    114117     * 
    115118     * @return  int 
     119     * @XMLIgnore 
    116120     */ 
    117121    public function getSeconds() 
     
    124128     * 
    125129     * @return  int 
     130     * @XMLIgnore 
    126131     */ 
    127132    public function getMinutes() 
     
    134139     * 
    135140     * @return  int 
     141     * @XMLIgnore 
    136142     */ 
    137143    public function getHours() 
     
    144150     * 
    145151     * @return  int 
     152     * @XMLIgnore 
    146153     */ 
    147154    public function getDay() 
     
    154161     * 
    155162     * @return  int 
     163     * @XMLIgnore 
    156164     */ 
    157165    public function getMonth() 
     
    164172     * 
    165173     * @return  int 
     174     * @XMLIgnore 
    166175     */ 
    167176    public function getYear() 
     
    174183     * 
    175184     * @return  string 
     185     * @XMLIgnore 
    176186     */ 
    177187    public function getOffset() 
     
    184194     * 
    185195     * @return  int 
     196     * @XMLIgnore 
    186197     */ 
    187198    public function getOffsetInSeconds() 
     
    216227     * 
    217228     * @return  stubTimeZone 
     229     * @XMLIgnore 
    218230     */ 
    219231    public function getTimeZone() 
    220232    { 
    221233        return new stubTimeZone($this->dateTime->getTimezone()); 
     234    } 
     235 
     236    /** 
     237     * returns date as string 
     238     * 
     239     * @return  string 
     240     * @XMLAttribute(attributeName='value') 
     241     */ 
     242    public function asString() 
     243    { 
     244        return $this->format('Y-m-d H:i:sO'); 
    222245    } 
    223246 
  • framework/trunk/src/test/php/net/stubbles/lang/types/stubDateTestCase.php

    r1868 r1869  
    99 * @version     $Id$ 
    1010 */ 
    11 stubClassLoader::load('net::stubbles::lang::types::stubDate'); 
     11stubClassLoader::load('net::stubbles::lang::types::stubDate', 
     12                      'net::stubbles::xml::stubXMLStreamWriterFactory', 
     13                      'net::stubbles::xml::serializer::stubXMLSerializer' 
     14); 
    1215/** 
    1316 * Helper class for the test. 
     
    435438        $this->assertEquals("net::stubbles::lang::types::stubDate {\n    dateTime(string): 1969-12-31 00:00:00+0000\n}\n", (string) $date); 
    436439    } 
     440 
     441    /** 
     442     * ensure useful xml conversion of date instance 
     443     * 
     444     * @test 
     445     */ 
     446    public function toXmlConversion() 
     447    { 
     448        $xmlStreamWriter = stubXMLStreamWriterFactory::createAsAvailable(); 
     449        $xmlSerializer   = new stubXMLSerializer(); 
     450        $xmlSerializer->serialize(new stubDate('31.12.1969 00:00 GMT'), 
     451                                  $xmlStreamWriter 
     452        ); 
     453        $this->assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<date value=\"1969-12-31 00:00:00+0000\"/>", 
     454                            $xmlStreamWriter->asXML() 
     455        ); 
     456    } 
    437457} 
    438458?>