|
|
- #!/usr/bin/perl
-
- =pod
-
- =head1 NAME
-
- test.pl - a set of basic tests for Wala.pm
-
- =head1 SYNOPSIS
-
- Given a working installation and configuration file:
-
- ./test.pl
-
- =head1 DESCRIPTION
-
- This section to-come.
-
- =head1 MISSING TESTS
-
- These items aren't tested at all, at the moment. A number of them aren't
- particularly trivial to test.
-
- sub get_diff
- sub get_latest_diff_date
- sub write_page
- sub add_to_page
- sub log_page_edit
- sub parse_cookies
- sub set_cookies
- sub setup
- sub parse_parameters
- sub write_diff
- sub merge_diff
-
- =head1 SEE ALSO
-
- validate.pl in the WalaWiki distribution.
-
- =cut
-
- use strict;
- use warnings;
- use lib 'lib';
- #use Test::HTML::W3C 'show_detail';
- use Test::Simple tests => 11;
-
- use Wala;
-
-
- # TESTS
-
- section ('configuration');
-
- our (%WalaConf, %DISPLAY_CONF);
- do 'p1k3.conf.pl';
-
- ok (%WalaConf, 'External configuration hash defined.');
-
- ok (my $w = Wala->new(%WalaConf), 'Got Wala object.');
-
- # This will turn off stuff that breaks testing.
- $w->TestMode(1);
-
- section ('individual subroutine tests');
-
- my $username = $w->get_username;
- ok ($username eq 'Anonymous',
- "get_username returns $username.");
-
- ok (Wala::get_mtime('Wala.pm') =~ m/\d+/,
- 'get_mtime returns digits.');
-
- ok (Wala::mygmtime(0) eq 'Thu, 01-Jan-1970 00:00:00 GMT',
- 'mygmtime(0) returns epoch');
-
- # Hack. Depends on ./log
- LOGFILE: {
- my $tmp = $w->LogFile;
- $w->LogFile("./log");
- ok ($w->recent_changes(1) =~ m/\d+ \w+ \w+.*$/,
- 'recent_changes(1) returns an appropriate logfile line.');
- $w->LogFile($tmp);
- }
-
- ok ($w->spamcheck("http://spamcheckfunction.com", "TEST", "TEST") == 1,
- 'spamcheck trips on a URL');
-
- section ('starting link code testing');
-
- my $scriptname = $w->ScriptName;
-
- ok (
- $w->convert_wikiwords('TestWord')
- =~ m/<a href="$scriptname\?.*?TestWord"/,
- 'Return link for TestWord'
- );
-
- ok (
- $w->convert_wikiwords('[TestWord|T Word]')
- =~ m/<a href="$scriptname\?.*?TestWord".*?>T Word</,
- 'Return labeled link for TestWord'
- );
-
- ok (
- Wala::get_bracketed_link("[http://p1k3.com/ p1k3]")
- eq qq{<a href="http://p1k3.com/" class="external">p1k3</a>},
- 'Return bracketed link'
- );
-
- # this isn't doing what I'd like it to.
- ok (
- Wala::pagelinks('PageLink [other page link]'),
- 'Pagelinks sub finds ' . Wala::pagelinks('PageLink [other page link]') . ' links'
- );
-
-
- # END OF TESTS
-
-
- # Utility routines.
-
- sub hash_print {
- my %hash = @_;
- my $string;
- for my $key (keys %hash) {
- $string .= "\n$key: $hash{$key}";
- }
-
- return $string;
- }
-
- sub pause {
- my $time = shift;
- #print " pausing $time seconds\n";
- sleep $time;
- }
-
- sub section {
- my $msg = shift;
- print "\n-- $msg --\n\n";
- }
|