23 lines
748 B
Perl
23 lines
748 B
Perl
|
use 5.006;
|
||
|
use strict;
|
||
|
use warnings;
|
||
|
use Test::More 0.96;
|
||
|
|
||
|
use MooseX::Types::Stringlike qw/Stringable Stringlike ArrayRefOfStringable ArrayRefOfStringlike/;
|
||
|
|
||
|
{
|
||
|
package BlessedPath;
|
||
|
use overload q{""} => sub { "${$_[0]}" };
|
||
|
sub new { my ($class, $path) = @_; return bless \$path, $class; }
|
||
|
}
|
||
|
|
||
|
my $stringable = [ map { BlessedPath->new($_) } ('./t', './xt') ];
|
||
|
|
||
|
ok(is_ArrayRefOfStringable($stringable), 'arrayref of stringable things is a ArrayRefOfStringable');
|
||
|
|
||
|
my $stringlike = to_ArrayRefOfStringlike($stringable);
|
||
|
ok(is_ArrayRefOfStringlike($stringlike), 'can coerce ArrayRefOfStringable to ArrayRefOfStringlike');
|
||
|
is_deeply($stringlike, [ './t', './xt' ], 'ArrayRefOfStringable properly coerced to ArrayRefOfStringlike');
|
||
|
|
||
|
done_testing;
|