Added libextutils-xspp-perl
[pkg-perl] / deb-src / libextutils-xspp-perl / libextutils-xspp-perl-0.07 / t / 020_rename.t
1 #!/usr/bin/perl -w
2
3 use strict;
4 use warnings;
5 use t::lib::XSP::Test tests => 4;
6
7 run_diff xsp_stdout => 'expected';
8
9 __DATA__
10
11 === Renamed function (also in different package)
12 --- xsp_stdout
13 %module{Foo};
14 %package{Foo::Bar};
15
16 %name{boo} int foo(int a);
17 %name{moo::boo} int foo(int a);
18 --- expected
19 MODULE=Foo
20
21 MODULE=Foo PACKAGE=Foo::Bar
22
23 int
24 boo( a )
25     int a
26   CODE:
27     RETVAL = foo( a );
28   OUTPUT: RETVAL
29
30 MODULE=Foo PACKAGE=moo
31
32 int
33 boo( a )
34     int a
35   CODE:
36     RETVAL = foo( a );
37   OUTPUT: RETVAL
38
39 === Renamed method
40 --- xsp_stdout
41 %module{Foo};
42
43 class Foo
44 {
45     %name{bar} int foo( int a );
46 };
47 --- expected
48 MODULE=Foo
49
50 MODULE=Foo PACKAGE=Foo
51
52 int
53 Foo::bar( a )
54     int a
55   CODE:
56     RETVAL = THIS->foo( a );
57   OUTPUT: RETVAL
58
59 === Renamed constructor
60 --- xsp_stdout
61 %module{Foo};
62
63 class Foo
64 {
65     %name{newFoo} Foo( int a );
66 };
67 --- expected
68 MODULE=Foo
69
70 MODULE=Foo PACKAGE=Foo
71
72 static Foo*
73 Foo::newFoo( a )
74     int a
75   CODE:
76     RETVAL = new Foo( a );
77   OUTPUT: RETVAL
78
79 === Renamed class
80 --- xsp_stdout
81 %module{Foo};
82
83 %name{Bar::Baz} class Foo
84 {
85     void foo();
86     %name{foo_int} int foo( int a );
87 };
88 --- expected
89 MODULE=Foo
90
91 MODULE=Foo PACKAGE=Bar::Baz
92
93 void
94 Foo::foo()
95
96 int
97 Foo::foo_int( a )
98     int a
99   CODE:
100     RETVAL = THIS->foo( a );
101   OUTPUT: RETVAL