The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

CGI::Wiki::TestLib - Utilities for writing CGI::Wiki tests.

DESCRIPTION

When 'perl Makefile.PL' is run on a CGI::Wiki distribution, information will be gathered about test databases etc that can be used for running tests. CGI::Wiki::TestLib gives convenient access to this information.

SYNOPSIS

  use strict;
  use CGI::Wiki::TestLib;
  use Test::More;

  my $iterator = CGI::Wiki::TestLib->new_wiki_maker;
  plan tests => ( $iterator->number * 6 );

  while ( my $wiki = $iterator->new_wiki ) {
      # put some test data in
      # run six tests
  }

Each time you call ->next on your iterator, you will get a fresh blank wiki object. The iterator will iterate over all configured search and storage backends.

METHODS

new_wiki_maker
  my $iterator = CGI::Wiki::TestLib->new_wiki_maker;
  while ( my $wiki = $iterator->new_wiki ) {
      # put some test data in
      # run some tests
  }

Each time you call ->new_wiki on your iterator, you will get a fresh blank wiki object. The iterator will iterate over all configured search and storage backends.

SEE ALSO

CGI::Wiki

AUTHOR

Kake Pugh (kake@earth.li).

COPYRIGHT

     Copyright (C) 2003 Kake Pugh.  All Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

CAVEATS

If you have the Search::InvertedIndex backend configured (see CGI::Wiki::Search::SII) then your tests will raise warnings like

  (in cleanup) Search::InvertedIndex::DB::Mysql::lock() -
    testdb is not open. Can't lock.
  at /usr/local/share/perl/5.6.1/Search/InvertedIndex.pm line 1348

or

  (in cleanup) Can't call method "sync" on an undefined value
    at /usr/local/share/perl/5.6.1/Tie/DB_File/SplitHash.pm line 331
    during global destruction.

in unexpected places. I don't know whether this is a bug in me or in Search::InvertedIndex.