Commit | Line | Data |
---|---|---|
bb5e8eb4 JK |
1 | #!/usr/bin/perl |
2 | use strict; | |
3 | use warnings; | |
4 | use Test::More tests => 7; | |
5 | use lib qw( lib ); | |
6 | use ExtUtils::ParseXS::Utilities qw( | |
7 | map_type | |
8 | ); | |
9 | ||
361d4be6 | 10 | my ($self, $type, $varname); |
bb5e8eb4 JK |
11 | my ($result, $expected); |
12 | ||
13 | $type = 'struct DATA *'; | |
14 | $varname = 'RETVAL'; | |
361d4be6 | 15 | $self->{hiertype} = 0; |
bb5e8eb4 | 16 | $expected = "$type\t$varname"; |
361d4be6 | 17 | $result = map_type($self, $type, $varname); |
bb5e8eb4 | 18 | is( $result, $expected, |
361d4be6 | 19 | "Got expected map_type for <$type>, <$varname>, <$self->{hiertype}>" ); |
bb5e8eb4 JK |
20 | |
21 | $type = 'Crypt::Shark'; | |
22 | $varname = undef; | |
361d4be6 | 23 | $self->{hiertype} = 0; |
bb5e8eb4 | 24 | $expected = 'Crypt__Shark'; |
361d4be6 | 25 | $result = map_type($self, $type, $varname); |
bb5e8eb4 | 26 | is( $result, $expected, |
361d4be6 | 27 | "Got expected map_type for <$type>, undef, <$self->{hiertype}>" ); |
bb5e8eb4 JK |
28 | |
29 | $type = 'Crypt::Shark'; | |
30 | $varname = undef; | |
361d4be6 | 31 | $self->{hiertype} = 1; |
bb5e8eb4 | 32 | $expected = 'Crypt::Shark'; |
361d4be6 | 33 | $result = map_type($self, $type, $varname); |
bb5e8eb4 | 34 | is( $result, $expected, |
361d4be6 | 35 | "Got expected map_type for <$type>, undef, <$self->{hiertype}>" ); |
bb5e8eb4 JK |
36 | |
37 | $type = 'Crypt::TC18'; | |
38 | $varname = 'RETVAL'; | |
361d4be6 | 39 | $self->{hiertype} = 0; |
bb5e8eb4 | 40 | $expected = "Crypt__TC18\t$varname"; |
361d4be6 | 41 | $result = map_type($self, $type, $varname); |
bb5e8eb4 | 42 | is( $result, $expected, |
361d4be6 | 43 | "Got expected map_type for <$type>, <$varname>, <$self->{hiertype}>" ); |
bb5e8eb4 JK |
44 | |
45 | $type = 'Crypt::TC18'; | |
46 | $varname = 'RETVAL'; | |
361d4be6 | 47 | $self->{hiertype} = 1; |
bb5e8eb4 | 48 | $expected = "Crypt::TC18\t$varname"; |
361d4be6 | 49 | $result = map_type($self, $type, $varname); |
bb5e8eb4 | 50 | is( $result, $expected, |
361d4be6 | 51 | "Got expected map_type for <$type>, <$varname>, <$self->{hiertype}>" ); |
bb5e8eb4 JK |
52 | |
53 | $type = 'array(alpha,beta) gamma'; | |
54 | $varname = 'RETVAL'; | |
361d4be6 | 55 | $self->{hiertype} = 0; |
bb5e8eb4 | 56 | $expected = "alpha *\t$varname"; |
361d4be6 | 57 | $result = map_type($self, $type, $varname); |
bb5e8eb4 | 58 | is( $result, $expected, |
361d4be6 | 59 | "Got expected map_type for <$type>, <$varname>, <$self->{hiertype}>" ); |
bb5e8eb4 JK |
60 | |
61 | $type = '(*)'; | |
62 | $varname = 'RETVAL'; | |
361d4be6 | 63 | $self->{hiertype} = 0; |
bb5e8eb4 | 64 | $expected = "(* $varname )"; |
361d4be6 | 65 | $result = map_type($self, $type, $varname); |
bb5e8eb4 | 66 | is( $result, $expected, |
361d4be6 | 67 | "Got expected map_type for <$type>, <$varname>, <$self->{hiertype}>" ); |