| #!/usr/bin/perl |
| use strict; |
| use warnings; |
| use Carp; |
| use Cwd; |
| use File::Spec; |
| use File::Temp qw( tempdir ); |
| use Test::More qw(no_plan); # tests => 7; |
| use lib qw( lib ); |
| use ExtUtils::ParseXS::Utilities qw( |
| assign_func_args |
| ); |
| |
| #sub assign_func_args { |
| # my ($self, $argsref, $class) = @_; |
| # return join(", ", @func_args); |
| |
| my ($self, @args, $class); |
| my ($func_args, $expected); |
| |
| @args = qw( alpha beta gamma ); |
| $self->{in_out}->{alpha} = 'OUT'; |
| $expected = q|&alpha, beta, gamma|; |
| $func_args = assign_func_args($self, \@args, $class); |
| is( $func_args, $expected, |
| "Got expected func_args: in_out true; class undefined" ); |
| |
| @args = ( 'My::Class', qw( beta gamma ) ); |
| $self->{in_out}->{beta} = 'OUT'; |
| $class = 'My::Class'; |
| $expected = q|&beta, gamma|; |
| $func_args = assign_func_args($self, \@args, $class); |
| is( $func_args, $expected, |
| "Got expected func_args: in_out true; class defined" ); |
| |
| @args = ( 'My::Class', qw( beta gamma ) ); |
| $self->{in_out}->{beta} = ''; |
| $class = 'My::Class'; |
| $expected = q|beta, gamma|; |
| $func_args = assign_func_args($self, \@args, $class); |
| is( $func_args, $expected, |
| "Got expected func_args: in_out false; class defined" ); |
| |
| @args = qw( alpha beta gamma ); |
| $self->{in_out}->{alpha} = ''; |
| $class = undef; |
| $expected = q|alpha, beta, gamma|; |
| $func_args = assign_func_args($self, \@args, $class); |
| is( $func_args, $expected, |
| "Got expected func_args: in_out false; class undefined" ); |
| |
| pass("Passed all tests in $0"); |