Changeset 1823

Show
Ignore:
Timestamp:
09/10/08 15:19:07 (23 months ago)
Author:
mikey
Message:

implement enhancement #169

Location:
framework/trunk/src
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • framework/trunk/src/main/php/net/stubbles/xml/rss/stubRSSFeedGenerator.php

    r1763 r1823  
    186186 
    187187    /** 
     188     * checks whether an item is present at given position 
     189     * 
     190     * @param   int   $pos 
     191     * @return  bool 
     192     */ 
     193    public function hasItem($pos) 
     194    { 
     195        return isset($this->items[$pos]); 
     196    } 
     197 
     198    /** 
     199     * returns item at given position 
     200     * 
     201     * @param   int              $pos 
     202     * @return  stubRssFeedItem 
     203     */ 
     204    public function getItem($pos) 
     205    { 
     206        if ($this->hasItem($pos) === true) { 
     207            return $this->items[$pos]; 
     208        } 
     209         
     210        return null; 
     211    } 
     212 
     213    /** 
     214     * returns a list of all items 
     215     * 
     216     * @return  stubRssFeedItem 
     217     */ 
     218    public function getItems() 
     219    { 
     220        return $this->items; 
     221    } 
     222 
     223    /** 
     224     * returns the number of items added for this feed 
     225     * 
     226     * @return  int 
     227     */ 
     228    public function countItems() 
     229    { 
     230        return count($this->items); 
     231    } 
     232 
     233    /** 
    188234     * set the generator of the feed 
    189235     * 
     
    434480        return $xmlStreamWriter; 
    435481    } 
    436  
    437     /** 
    438      * returns the number of items added for this feed 
    439      * 
    440      * @return  int 
    441      */ 
    442     public function countItems() 
    443     { 
    444         return count($this->items); 
    445     } 
    446482} 
    447483?> 
  • framework/trunk/src/test/php/net/stubbles/xml/rss/stubRSSFeedGeneratorTestCase.php

    r1763 r1823  
    4646 
    4747    /** 
     48     * item handling should work correct 
     49     * 
     50     * @test 
     51     */ 
     52    public function itemHandling() 
     53    { 
     54        $this->assertEquals(0, $this->rssFeedGenerator->countItems()); 
     55        $this->assertEquals(array(), $this->rssFeedGenerator->getItems()); 
     56        $this->assertFalse($this->rssFeedGenerator->hasItem(0)); 
     57        $this->assertFalse($this->rssFeedGenerator->hasItem(1)); 
     58        $this->assertNull($this->rssFeedGenerator->getItem(0)); 
     59        $this->assertNull($this->rssFeedGenerator->getItem(1)); 
     60        $item0 = $this->rssFeedGenerator->addItem('item0', 'link', 'description'); 
     61        $this->assertEquals(1, $this->rssFeedGenerator->countItems()); 
     62        $this->assertEquals(array($item0), $this->rssFeedGenerator->getItems()); 
     63        $this->assertTrue($this->rssFeedGenerator->hasItem(0)); 
     64        $this->assertFalse($this->rssFeedGenerator->hasItem(1)); 
     65        $this->assertSame($item0, $this->rssFeedGenerator->getItem(0)); 
     66        $this->assertNull($this->rssFeedGenerator->getItem(1)); 
     67        $item1 = $this->rssFeedGenerator->addItem('item0', 'link', 'description'); 
     68        $this->assertEquals(2, $this->rssFeedGenerator->countItems()); 
     69        $this->assertEquals(array($item0, $item1), $this->rssFeedGenerator->getItems()); 
     70        $this->assertTrue($this->rssFeedGenerator->hasItem(0)); 
     71        $this->assertTrue($this->rssFeedGenerator->hasItem(1)); 
     72        $this->assertSame($item0, $this->rssFeedGenerator->getItem(0)); 
     73        $this->assertSame($item1, $this->rssFeedGenerator->getItem(1)); 
     74    } 
     75 
     76    /** 
    4877     * test that the values are handles as expexted 
    4978     * 
     
    5382    { 
    5483        $this->assertEquals(0, $this->rssFeedGenerator->countItems()); 
    55          
    5684        $mockXmlStreamWriter = $this->getMock('stubXMLStreamWriter'); 
    5785        $mockXmlStreamWriter->expects($this->never())->method('writeProcessingInstruction');