xref: /openbsd-src/gnu/usr.bin/perl/ext/XS-APItest/t/refs.t (revision 898184e3e61f9129feb5978fad5a8c6865f00b92)
1*898184e3Ssthen#!perl
2*898184e3Ssthen
3*898184e3Ssthenuse strict;
4*898184e3Ssthenuse warnings;
5*898184e3Ssthen
6*898184e3Ssthenuse Test::More tests => 9;
7*898184e3Ssthen
8*898184e3Ssthenuse Tie::Scalar;
9*898184e3Ssthen
10*898184e3Ssthenuse_ok('XS::APItest');
11*898184e3Ssthen
12*898184e3Ssthenmy $a;
13*898184e3Ssthenmy $sr = \$a;
14*898184e3Ssthenmy $ar = [];
15*898184e3Ssthenmy $hr = {};
16*898184e3Ssthenmy $cr = sub{};
17*898184e3Ssthen
18*898184e3Ssthenis XS::APItest::take_svref($sr), $sr;
19*898184e3Ssthenis XS::APItest::take_avref($ar), $ar;
20*898184e3Ssthenis XS::APItest::take_hvref($hr), $hr;
21*898184e3Ssthenis XS::APItest::take_cvref($cr), $cr;
22*898184e3Ssthen
23*898184e3Ssthenmy $obj = tie my $ref, 'Tie::StdScalar';
24*898184e3Ssthen${$obj} = $sr;
25*898184e3Ssthenis XS::APItest::take_svref($sr), $sr;
26*898184e3Ssthen
27*898184e3Ssthen${$obj} = $ar;
28*898184e3Ssthenis XS::APItest::take_avref($ar), $ar;
29*898184e3Ssthen
30*898184e3Ssthen${$obj} = $hr;
31*898184e3Ssthenis XS::APItest::take_hvref($hr), $hr;
32*898184e3Ssthen
33*898184e3Ssthen${$obj} = $cr;
34*898184e3Ssthenis XS::APItest::take_cvref($cr), $cr;
35