Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

test::synopsis(3pm) [debian man page]

Test::Synopsis(3pm)					User Contributed Perl Documentation				       Test::Synopsis(3pm)

NAME
Test::Synopsis - Test your SYNOPSIS code SYNOPSIS
# xt/synopsis.t (with Module::Install::AuthorTests) use Test::Synopsis; all_synopsis_ok(); # Or, run safe without Test::Synopsis use Test::More; eval "use Test::Synopsis"; plan skip_all => "Test::Synopsis required for testing" if $@; all_synopsis_ok(); DESCRIPTION
Test::Synopsis is an (author) test module to find .pm or .pod files under your lib directory and then make sure the example snippet code in your SYNOPSIS section passes the perl compile check. Note that this module only checks the perl syntax (by wrapping the code with "sub") and doesn't actually run the code. Suppose you have the following POD in your module. =head1 NAME Awesome::Template - My awesome template =head1 SYNOPSIS use Awesome::Template; my $template = Awesome::Template->new; $tempalte->render("template.at"); =head1 DESCRIPTION An user of your module would try copy-paste this synopsis code and find that this code doesn't compile because there's a typo in your variable name $tempalte. Test::Synopsis will catch that error before you ship it. VARIABLE DECLARATIONS
Sometimes you might want to put some undeclared variables in your synopsis, like: =head1 SYNOPSIS use Data::Dumper::Names; print Dumper($scalar, @array, \%hash); This assumes these variables like $scalar are defined elsewhere in module user's code, but Test::Synopsis, by default, will complain that these variables are not declared: Global symbol "$scalar" requires explicit package name at ... In this case, you can add the following POD sequence elsewhere in your POD: =for test_synopsis no strict 'vars' Or more explicitly, =for test_synopsis my($scalar, @array, %hash); Test::Synopsis will find these "=for" blocks and these statements are prepended before your SYNOPSIS code when being evaluated, so those variable name errors will go away, without adding unnecessary bits in SYNOPSIS which might confuse users. AUTHOR
Tatsuhiko Miyagawa <miyagawa@bulknews.net> Goro Fuji blogged about the original idea at <http://d.hatena.ne.jp/gfx/20090224/1235449381> based on the testing code taken from Test::Weaken. LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
Test::Pod, Test::UseAllModules, Test::Inline, Test::Snippet perl v5.10.1 2009-07-06 Test::Synopsis(3pm)

Check Out this Related Man Page

Test::Inline::Content::Simple(3pm)			User Contributed Perl Documentation			Test::Inline::Content::Simple(3pm)

NAME
Test::Inline::Content::Simple - Simple templating Content Handler SYNOPSIS
In your inline2test.tpl ---------------------- #!/usr/bin/perl -w use strict; use Test::More [% plan %]; $| = 1; [% tests %] 1; DESCRIPTION
It is relatively common to want to customise the contents of the generated test files to set up custom environment things on an all-scripts basis, rather than file by file (using =begin SETUP blocks). "Test::Inline::Content::Simple" lets you use a very simple Template Toolkit style template to define this information. It contains only two tags, "plan" and "tests". The "plan" tag will be inserted as either "tests =" 123> or 'no_plan'. The "tests" tag will be replaced by the actual testing code. METHODS
new $filename Manually create a new "Test::Inline::Content::Simple" object. Takes as parameter a single filename which should contain the template code. Returns a new "Test::Inline::Content::Simple" object, or "undef" on error. template The "template" accessor returns the template content for the object process $Inline, $Script The "process" method is unchanged from "Test::Inline::Content". SUPPORT
See the main SUPPORT section. AUTHOR
Adam Kennedy <adamk@cpan.org>, <http://ali.as/> COPYRIGHT
Copyright 2004 - 2010 Adam Kennedy. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of the license can be found in the LICENSE file included with this module. perl v5.12.4 2010-11-22 Test::Inline::Content::Simple(3pm)
Man Page