Document and test non-reference { -in => ... }
[scpubgit/Q-Branch.git] / t / 09refkind.t
CommitLineData
4f30591b 1#!/usr/bin/perl
2
3use strict;
4use warnings;
5use Test::More;
6use SQL::Abstract;
7
4f30591b 8my $obj = bless {}, "Foo::Bar";
9
10is(SQL::Abstract->_refkind(undef), 'UNDEF', 'UNDEF');
11
12is(SQL::Abstract->_refkind({}), 'HASHREF', 'HASHREF');
13is(SQL::Abstract->_refkind([]), 'ARRAYREF', 'ARRAYREF');
14
15is(SQL::Abstract->_refkind(\{}), 'HASHREFREF', 'HASHREFREF');
16is(SQL::Abstract->_refkind(\[]), 'ARRAYREFREF', 'ARRAYREFREF');
17
18is(SQL::Abstract->_refkind(\\{}), 'HASHREFREFREF', 'HASHREFREFREF');
19is(SQL::Abstract->_refkind(\\[]), 'ARRAYREFREFREF', 'ARRAYREFREFREF');
20
21is(SQL::Abstract->_refkind("foo"), 'SCALAR', 'SCALAR');
22is(SQL::Abstract->_refkind(\"foo"), 'SCALARREF', 'SCALARREF');
23is(SQL::Abstract->_refkind(\\"foo"), 'SCALARREFREF', 'SCALARREFREF');
24
25# objects are treated like scalars
26is(SQL::Abstract->_refkind($obj), 'SCALAR', 'SCALAR');
27is(SQL::Abstract->_refkind(\$obj), 'SCALARREF', 'SCALARREF');
28is(SQL::Abstract->_refkind(\\$obj), 'SCALARREFREF', 'SCALARREFREF');
29
10e6c946 30done_testing;