1# (also see utilsby_no_xs.t)
2use Test::More;
3use strict; use warnings FATAL => 'all';
4
5use List::Objects::WithUtils 'array';
6
7if ($List::Objects::WithUtils::Role::Array::UsingUtilsByXS) {
8  diag "\nUsing List::UtilsBy::XS\n"
9} else {
10  diag "\nUsing List::UtilsBy (XS not found)\n"
11}
12
13my $arr = array(
14  +{ id => 'c' },
15  +{ id => 'a' },
16  +{ id => 'b' },
17);
18
19my $sorted = $arr->sort_by(sub { $_->{id} });
20
21is_deeply
22  [ $sorted->all ],
23  [ +{ id => 'a' }, +{ id => 'b' }, +{ id => 'c' } ],
24  'sort_by ok';
25
26ok array->sort_by(sub { $_->foo })->is_empty,
27  'empty array sort_by ok';
28
29done_testing;
30