Changeset 310

Show
Ignore:
Timestamp:
05/25/06 16:28:45 (6 years ago)
Author:
nick
Message:

Atom node_all_versions support, and tests

Location:
wiki-toolkit/trunk
Files:
1 added
3 modified

Legend:

Unmodified
Added
Removed
  • wiki-toolkit/trunk/MANIFEST

    r308 r310  
    7575t/301_feed_atom_add_test_data.t 
    7676t/302_feed_atom_recentchanges.t 
     77t/303_feed_atom_node_all_versions.t 
    7778t/lib/Wiki/Toolkit/Plugin/Bar.pm 
    7879t/lib/Wiki/Toolkit/Plugin/Foo.pm 
  • wiki-toolkit/trunk/lib/Wiki/Toolkit/Feed/Atom.pm

    r297 r310  
    5050} 
    5151 
     52=item B<recent_changes> 
     53 
     54Build an Atom Feed of the recent changes to the Wiki::Toolkit instance, 
     55using any supplied parameters to narrow the results. 
     56 
     57=cut 
    5258sub recent_changes 
    5359{ 
     
    6167    return $self->generate_node_list_feed($atom_timestamp, @changes); 
    6268} 
     69 
     70 
     71=item B<node_all_versions> 
     72 
     73Build an Atom Feed of all the different versions of a given node. 
     74 
     75=cut 
     76sub node_all_versions 
     77{ 
     78    my ($self, %args) = @_; 
     79 
     80    my @all_versions = $self->fetch_node_all_versions(%args); 
     81    my $feed_timestamp = $self->feed_timestamp( $all_versions[0] ); 
     82 
     83    return $self->generate_node_list_feed($feed_timestamp, @all_versions); 
     84}  
     85 
    6386 
    6487=item <generate_node_list_feed> 
     
    130153       $title =~ s/</&lt;/g; 
    131154       $title =~ s/>/&gt;/g; 
     155 
     156    # TODO: Store categories in the atom:category element (4.2.2) 
     157    # TODO: Find an Atom equivalent of ModWiki, so we can include more info 
    132158     
    133159    push @items, qq{ 
  • wiki-toolkit/trunk/t/301_feed_atom_add_test_data.t

    r255 r310  
    1919      my $wiki = Wiki::Toolkit->new( store => $store ); 
    2020 
     21      # Write two versions of one node 
     22      # The recent changes should only show it once though 
    2123      $wiki->write_node( "Old Node", 
    22                          "We will write at least 15 nodes after this one" ); 
     24                         "First version of Old Node" ); 
     25      my %old_node = $wiki->retrieve_node("Old Node"); 
     26      $wiki->write_node( "Old Node", 
     27                         "We will write at least 15 nodes after this one", 
     28                         $old_node{'checksum'} ); 
    2329 
    2430      my $slept = sleep(2);