App-Test-Generator
view release on metacpan or search on metacpan
t/test_extractor.t view on Meta::CPAN
#!/usr/bin/env perl
use strict;
use warnings;
# use Test::DescribeMe qw(extended); # New features
use Test::Most;
use File::Temp qw(tempdir);
use File::Spec;
use File::Path qw(make_path);
BEGIN {
use_ok('App::Test::Generator::SchemaExtractor');
}
# Create a temporary module for testing
my $tempdir = tempdir(CLEANUP => 1);
my $test_module = File::Spec->catfile($tempdir, 'TestModule.pm');
# Write test module
open my $fh, '>', $test_module or die "Can't create test module: $!";
print $fh <<'END_MODULE';
package TestModule;
use strict;
use warnings;
use Carp qw(croak);
=head2 simple_string($name)
=head3 INPUT
$name - string (3-50 chars), person's name
=cut
sub simple_string {
my ($self, $name) = @_;
croak unless defined $name;
croak unless length($name) >= 3;
croak unless length($name) <= 50;
return uc($name);
}
=head2 simple_integer($count)
Parameters:
$count - integer (1-100), number of items
=cut
sub simple_integer {
my ($self, $count) = @_;
croak unless $count >= 1;
croak unless $count <= 100;
return $count * 2;
}
=head2 with_regex($email)
Parameters:
$email - string, matches /\@/
=cut
sub with_regex {
my ($self, $email) = @_;
croak unless $email =~ /\@/;
return $email;
}
=head2 array_param($items)
Parameters:
$items - arrayref
=cut
sub array_param {
my ($self, $items) = @_;
croak unless ref($items) eq 'ARRAY';
return scalar @$items;
}
=head2 hash_param($config)
Parameters:
$config - hashref
=cut
( run in 0.313 second using v1.01-cache-2.11-cpan-13bb782fe5a )