trAvis - MANAGER
Edit File: 202-squirrel-role.t
#!/usr/bin/perl use strict; use warnings; use Test::More; use Mouse::Spec; use Scalar::Util 'blessed'; BEGIN { $SIG{__WARN__} = sub { warn $_[0] if $_[0] !~ /Squirrel is deprecated/ }; } do { package Foo::Role; use Squirrel::Role; # loa Mouse::Role has foo => ( isa => "Int", is => "rw", ); no Squirrel::Role; }; # note that 'Foo' is defined before this, to prevent Moose being loaded from # affecting its definition BEGIN { eval{ require Moose::Role && Moose::Role->VERSION(Mouse::Spec->MooseVersion) }; plan skip_all => "Moose $Mouse::Spec::MooseVersion required for this test" if $@; plan tests => 6; } do { package Bar::Role; use Squirrel::Role; # load Moose::Role has foo => ( isa => "Int", is => "rw", ); no Squirrel::Role; }; ok(!Foo::Role->can('has'), "Mouse::Role::has was unimported"); ok(!Bar::Role->can('has'), "Moose::Role::has was unimported"); eval q{ package Foo::Role; use Squirrel::Role; has bar => (is => 'rw'); package Bar::Role; use Squirrel::Role; has bar => (is => 'rw'); }; isa_ok(Foo::Role->meta, 'Mouse::Meta::Role'); isa_ok(Foo::Role->meta, 'Mouse::Meta::Role'); isa_ok(Bar::Role->meta, 'Moose::Meta::Role'); isa_ok(Bar::Role->meta, 'Moose::Meta::Role');