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