1use strict;
2use FindBin;
3
4our @methods;
5BEGIN {
6  my $module = "$FindBin::Bin/../lib/WWW/Mechanize/Shell.pm";
7  open MODULE, "< $module"
8    or die "Couldn't open module file '$module'";
9  @methods = map { /^\s*sub run_([a-z]+)\s*\{/ ? $1 : () } <MODULE>;
10  close MODULE;
11};
12
13use Test::More tests => scalar @methods*3 +2;
14
15# Disable all ReadLine functionality
16$ENV{PERL_RL} = 0;
17
18SKIP: {
19  eval { require Pod::Constants;};
20  skip "Need Pod::Constants to test the documentation", 2 + scalar @methods*3
21    if $@;
22
23  use_ok("WWW::Mechanize::Shell");
24
25  my $shell = WWW::Mechanize::Shell->new("shell", rcfile => undef, warnings => undef );
26  isa_ok($shell,"WWW::Mechanize::Shell");
27  for my $method (@methods) {
28    my $helptext = $shell->catch_smry($method);
29    is($@,'',"No error");
30    isnt( $helptext, undef, "Documentation for $method is there");
31    isnt( $helptext, '', "Documentation for $method is not empty");
32  };
33};
34