#!/usr/bin/perl =pod =head1 NAME test.pl - a set of basic tests for display =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 write_cookies_to_browser 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 => 10; use Wala qw(%WalaConf %DISPLAY_CONF); # TESTS section ('configuration'); ok (Wala::eval_file("p1k3.conf.pl"), "eval_file on p1k3.conf.pl"); ok (defined %WalaConf, 'External configuration hash defined.'); section ('individual subroutine tests'); # This will turn off stuff that breaks testing. $WalaConf{TestMode} = 1; ok (Wala::get_username eq $WalaConf{'DefaultUserName'}, "get_username returns default."); 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: { local $WalaConf{RootDir} = "./"; ok (Wala::recent_changes(1) =~ m/\d+ \w+ \w+.*$/, 'recent_changes(1) returns an appropriate logfile line.'); } ok (Wala::spamcheck("http://spamcheckfunction.com", "TEST", "TEST") == 1, 'spamcheck trips on a URL'); section ('starting link code testing'); ok ( Wala::make_links_of_wiki_words('TestWord') =~ m/p1k3", '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"; }