| Test-Count documentation | Contained in the Test-Count distribution. |
Test::Count::FileMutator::ByFileType::App - a standalone command line application that modifies a file in place based on its type.
# To process C code
$ perl -MTest::Count::FileMutator::ByFileType::App -e 'run()' --ft=c myfile.c
# To process Perl 5 code
$ perl -MTest::Count::Filter::ByFileType::App -e 'run()' myfile.pl
Runs the program.
Shlomi Fish, http://www.shlomifish.org/ .
Please report any bugs or feature requests to
bug-test-count at rt.cpan.org, or through the web interface at
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test::Count.
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
You can find documentation for this module with the perldoc command.
perldoc Test::Count
You can also look for information at:
This module is free software, available under the MIT X11 Licence:
http://www.opensource.org/licenses/mit-license.php
Copyright by Shlomi Fish, 2009.
| Test-Count documentation | Contained in the Test-Count distribution. |
package Test::Count::FileMutator::ByFileType::App; use strict; use warnings; use Test::Count::FileMutator; use Getopt::Long; use base 'Exporter'; our @EXPORT = (qw(run));
sub run { my $filetype = "perl"; GetOptions('ft=s' => \$filetype); my $filename = shift(@ARGV); my %params = ( 'lisp' => { assert_prefix_regex => qr{; TEST}, plan_prefix_regex => qr{\(plan\s+}, }, 'c' => { assert_prefix_regex => qr{/[/\*]\s+TEST}, plan_prefix_regex => qr{\s*plan_tests\s*\(\s*}, }, 'python' => { plan_prefix_regex => qr{plan\s*\(\s*}, }, ); my %aliases = ( 'arc' => "lisp", 'scheme' => "lisp", 'cpp' => "c", ); $filetype = exists($aliases{$filetype}) ? $aliases{$filetype} : $filetype; my $ft_params = exists($params{$filetype}) ? $params{$filetype} : +{}; my $mutator = Test::Count::FileMutator->new( { filename => $filename, %{$ft_params}, } ); $mutator->modify(); return 0; } 1; __END__