summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/perl/ext/XS-APItest/t/refs.t
blob: e71ca19d93ef80bc9d8bf623f1fe941741e0d244 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!perl

use strict;
use warnings;

use Test::More tests => 9;

use Tie::Scalar;

use_ok('XS::APItest');

my $a;
my $sr = \$a;
my $ar = [];
my $hr = {};
my $cr = sub{};

is XS::APItest::take_svref($sr), $sr;
is XS::APItest::take_avref($ar), $ar;
is XS::APItest::take_hvref($hr), $hr;
is XS::APItest::take_cvref($cr), $cr;

my $obj = tie my $ref, 'Tie::StdScalar';
${$obj} = $sr;
is XS::APItest::take_svref($sr), $sr;

${$obj} = $ar;
is XS::APItest::take_avref($ar), $ar;

${$obj} = $hr;
is XS::APItest::take_hvref($hr), $hr;

${$obj} = $cr;
is XS::APItest::take_cvref($cr), $cr;