D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
usr
/
share
/
doc
/
perl-Data-OptList
/
t
/
Filename :
hash.t
back
Copy
#!/usr/bin/perl use strict; use warnings; =head1 TEST PURPOSE These tests test option list expansion (from an option list into a hashref). =cut use Sub::Install; use Test::More tests => 13; BEGIN { use_ok('Data::OptList'); } # let's get a convenient copy to use: Sub::Install::install_sub({ code => 'mkopt_hash', from => 'Data::OptList', as => 'OPTH', }); is_deeply( OPTH(), {}, "empty opt list expands properly", ); is_deeply( OPTH(undef), {}, "undef opt list expands properly", ); is_deeply( OPTH([]), {}, "empty arrayref opt list expands properly", ); is_deeply( OPTH({}), {}, "empty hashref opt list expands properly", ); is_deeply( OPTH([ qw(foo bar baz) ]), { foo => undef, bar => undef, baz => undef }, "opt list of just names expands", ); is_deeply( OPTH([ qw(foo :bar baz) ]), { foo => undef, ':bar' => undef, baz => undef }, "opt list of names expands with :group names", ); is_deeply( OPTH([ foo => { a => 1 }, ':bar', 'baz' ]), { foo => { a => 1 }, ':bar' => undef, baz => undef }, "opt list of names and values expands", ); is_deeply( OPTH([ foo => { a => 1 }, ':bar' => undef, 'baz' ]), { foo => { a => 1 }, ':bar' => undef, baz => undef }, "opt list of names and values expands, ignoring undef", ); is_deeply( OPTH({ foo => { a => 1 }, -bar => undef, baz => undef }, 0, 'HASH'), { foo => { a => 1 }, -bar => undef, baz => undef }, "opt list of names and values expands with must_be", ); is_deeply( OPTH({ foo => { a => 1 }, -bar => undef, baz => undef }, 0, ['HASH']), { foo => { a => 1 }, -bar => undef, baz => undef }, "opt list of names and values expands with [must_be]", ); eval { OPTH({ foo => { a => 1 }, -bar => undef, baz => undef }, 0, 'ARRAY'); }; like($@, qr/HASH-ref values are not/, "exception tossed on invaild ref value"); eval { OPTH({ foo => { a => 1 }, -bar => undef, baz => undef }, 0, ['ARRAY']); }; like($@, qr/HASH-ref values are not/, "exception tossed on invaild ref value");
Name
Size
Last Modified
Owner
Permissions
Actions
00-report-prereqs.dd
1.423
KB
March 25 2016 1:20:57
root
0644
00-report-prereqs.t
5.471
KB
October 13 2019 7:58:02
root
0644
hash.t
1.955
KB
October 13 2019 7:58:02
root
0644
mkopt.t
5.658
KB
October 13 2019 7:58:02
root
0644
2017 © D7net | D704T team