stas        2003/04/06 21:41:47

  Modified:    src/docs/general/testing testing.pod
  Log:
  have() now can handle scalars in addition to code refs in hash refs
  
  Revision  Changes    Path
  1.13      +16 -9     modperl-docs/src/docs/general/testing/testing.pod
  
  Index: testing.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/general/testing/testing.pod,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- testing.pod       1 Apr 2003 04:42:47 -0000       1.12
  +++ testing.pod       7 Apr 2003 04:41:47 -0000       1.13
  @@ -1862,23 +1862,30 @@
   requirements at once.
   
   have()'s arguments can include scalars, which are passed to
  -have_module(), and hash references. The hash references have a
  -condition code reference as a value and a reason for failure as a
  -key. The condition code is run and if it fails the provided reason is
  -used to tell user why the test was skipped.
  +have_module(), and hash references. If hash references are used, the
  +keys, are strings, containing a reason for a failure to satisfy this
  +particular entry, the valuees are the condition, which are
  +satisfaction if they return true. If the value is a scalar it's used
  +as is. If the value is a code reference, it gets executed at the time
  +of check and its return value is used to check the condition. If the
  +condition check fails, the provided (in a key) reason is used to tell
  +user why the test was skipped.
   
   For example:
   
     plan tests => 5,
         have 'LWP',
  -           { "perl >= 5.7.3 is required" => sub { $] >= 5.007003   } },
  -           { "not Win32"                 => sub { $^O eq 'MSWin32' } },
  +           { "perl >= 5.8.0 is required" => ($] >= 5.008)          },
  +           { "not Win32"                 => sub { $^O eq 'MSWin32' },
  +             "foo is disabled"           => \&is_foo_enabled,
  +           },
              'cgid';
   
   In this example, we require the presense of the C<LWP> Perl module,
  -C<mod_cgid>, that we run under perl E<gt>= 5.7.3 on Win32. If any of
  -the requirements from this list fail, the test will be skipped and
  -each failed requiremnt will print a reason for its failure.
  +C<mod_cgid>, that we run under perl E<gt>= 5.7.3 on Win32, and that
  +C<is_foo_enabled> returns true. If any of the requirements from this
  +list fail, the test will be skipped and each failed requiremnt will
  +print a reason for its failure.
   
   =item * have_perl()
   
  
  
  

Reply via email to