Changeset 509 for trunk/t/12_macros.t


Ignore:
Timestamp:
Sep 20, 2004, 9:05:10 PM (17 years ago)
Author:
kake
Message:

@INDEX_LIST macro

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/t/12_macros.t

    r508 r509  
    11use strict;
     2use CGI::Wiki::Setup::SQLite;
    23use Config::Tiny;
    3 use OpenGuides::Utils;
    4 use Test::More tests => 2;
     4use OpenGuides;
     5use Test::More tests => 6;
    56
    67eval { require DBD::SQLite; };
     
    89
    910SKIP: {
    10     skip "DBD::SQLite not installed - no database to test with", 2
     11    skip "DBD::SQLite not installed - no database to test with", 6
    1112      unless $have_sqlite;
     13
     14    # Clear out the database from any previous runs.
     15    unlink "t/node.db";
     16    unlink <t/indexes/*>;
     17    CGI::Wiki::Setup::SQLite::setup( { dbname => "t/node.db" } );
    1218
    1319    my $config = Config::Tiny->new;
     
    1824                     script_url         => "",
    1925                     script_name        => "",
     26                     site_name          => "Test",
     27                     template_path      => "./templates",
     28                     home_name          => "Home",
    2029                   };
    2130
    22     my $wiki = OpenGuides::Utils->make_wiki_object( config => $config );
    23     my $formatter = $wiki->formatter;
     31    my $guide = OpenGuides->new( config => $config );
     32    my $wiki = $guide->wiki;
    2433
    25     my $wikitext = <<WIKI;
     34    # Test @INDEX_LINK
     35    $wiki->write_node( "Test 1", "\@INDEX_LINK [[Category Foo]]" )
     36      or die "Can't write node";
     37    $wiki->write_node( "Test 2", "\@INDEX_LINK [[Category Bar|Bars]]" )
     38      or die "Can't write node";
    2639
    27 \@INDEX_LINK [[Category Foo]]
     40    my $output;
     41    $output = $guide->display_node(
     42                                    return_output => 1,
     43                                    id            => "Test 1",
     44                                  );
     45    like( $output, qr/View all pages in Category Foo/,
     46          "\@INDEX_LINK has right default link text" );
     47    $output = $guide->display_node(
     48                                    return_output => 1,
     49                                    id            => "Test 2",
     50                                  );
     51    like( $output, qr/>Bars<\/a>/, "...and can be overridden" );
    2852
    29 \@INDEX_LINK [[Category Bar|Bars]]
    30 
    31 WIKI
    32 
    33     my $html = $formatter->format($wikitext);
    34     like( $html, qr/View all pages in Category Foo/,
    35           "\@INDEX_LINK has right default link text" );
    36     like( $html, qr/>Bars<\/a>/, "...and can be overridden" );
     53    # Test @INDEX_LIST
     54    $wiki->write_node( "Test 3", "\@INDEX_LIST [[Category Foo]]" )
     55      or die "Can't write node";
     56    $wiki->write_node( "Test 4", "\@INDEX_LIST [[Locale Bar]]" )
     57      or die "Can't write node";
     58    $wiki->write_node( "Test 5", "\@INDEX_LIST [[Category Nonexistent]]" )
     59      or die "Can't write node";
     60    $wiki->write_node( "Test 6", "\@INDEX_LIST [[Locale Nonexistent]]" )
     61      or die "Can't write node";
     62    $wiki->write_node( "Wibble", "wibble", undef,
     63                       {
     64                         category => "foo",
     65                         locale   => "bar",
     66                       }
     67                     )
     68      or die "Can't write node";
     69    $output = $guide->display_node(
     70                                    return_output => 1,
     71                                    id            => "Test 3",
     72                                  );
     73    like ( $output, qr|<a href=".*">Wibble</a>|,
     74           '@INDEX_LIST works for categories' );
     75    $output = $guide->display_node(
     76                                    return_output => 1,
     77                                    id            => "Test 5",
     78                                  );
     79    like ( $output, qr|No pages currently in category|,
     80           "...and fails nicely if no pages in category" );
     81    $output = $guide->display_node(
     82                                    return_output => 1,
     83                                    id            => "Test 4",
     84                                  );
     85    like ( $output, qr|<a href=".*">Wibble</a>|,
     86           '@INDEX_LIST works for locales' );
     87    $output = $guide->display_node(
     88                                    return_output => 1,
     89                                    id            => "Test 6",
     90                                  );
     91    like ( $output, qr|No pages currently in locale|,
     92           "...and fails nicely if no pages in locale" );
    3793}
Note: See TracChangeset for help on using the changeset viewer.