trAvis - MANAGER
Edit File: 030_coerce_without_coercion.t
use strict; # 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 warnings; use Test::More; use Test::Exception; use Test::Mouse; { package Foo; use Mouse::Deprecated -api_version => '1.07'; use Mouse; has x => ( is => 'rw', isa => 'HashRef', coerce => 1, ); } with_immutable { lives_ok { Foo->new( x => {} ) } 'Setting coerce => 1 without a coercion on the type does not cause an error in the constructor'; lives_ok { Foo->new->x( {} ) } 'Setting coerce => 1 without a coercion on the type does not cause an error when setting the attribut'; throws_ok { Foo->new( x => 42 ) } qr/\QAttribute (x) does not pass the type constraint because/, 'Attempting to provide an invalid value to the constructor for this attr still fails'; throws_ok { Foo->new->x(42) } qr/\QAttribute (x) does not pass the type constraint because/, 'Attempting to provide an invalid value to the accessor for this attr still fails'; } 'Foo'; done_testing;