trAvis - MANAGER
Edit File: 014_misc_attribute_coerce_lazy.t
#!/usr/bin/perl # This is automatically generated by author/import-moose-test.pl. # DO NOT EDIT THIS FILE. ANY CHANGES WILL BE LOST!!! use t::lib::MooseCompat; use strict; use warnings; use Test::More; use Test::Exception; { package HTTPHeader; use Mouse; has 'array' => (is => 'ro'); has 'hash' => (is => 'ro'); } { package Request; use Mouse; use Mouse::Util::TypeConstraints; subtype Header => => as Object => where { $_->isa('HTTPHeader') }; coerce Header => from ArrayRef => via { HTTPHeader->new(array => $_[0]) } => from HashRef => via { HTTPHeader->new(hash => $_[0]) }; has 'headers' => ( is => 'rw', isa => 'Header', coerce => 1, lazy => 1, default => sub { [ 'content-type', 'text/html' ] } ); } my $r = Request->new; isa_ok($r, 'Request'); lives_ok { $r->headers; } '... this coerces and passes the type constraint even with lazy'; done_testing;