1use Test::More;
2use strict; use warnings FATAL => 'all';
3
4use List::Objects::WithUtils 'array';
5
6my $arr = array(qw/ a b c /);
7
8my $last = $arr->tail;
9ok $last eq 'c', 'scalar tail ok';
10
11my ($tail, $remains) = $arr->tail;
12ok $tail eq 'c', 'list tail first item ok';
13is_deeply
14  [ $remains->all ],
15  [ qw/ a b / ],
16  'list tail second item ok';
17
18ok !defined array->tail , 'empty array scalar tail undef ok';
19($tail, $remains) = array->tail;
20ok !defined $tail, 'empty array list tail first item undef ok';
21ok $remains->is_empty, 'empty array list tail second item is_empty ok';
22
23done_testing;
24