#!/usr/bin/env perl use strict; use warnings; use Test::More tests => 4; use Test::Moose; my ($foo_called, $baz_called); { package MyTest; use Moose; use MooseX::Aliases; has foo => ( is => 'rw', alias => 'bar', trigger => sub { $foo_called++ }, ); has baz => ( is => 'rw', alias => [qw/quux quuux/], trigger => sub { $baz_called++ }, ); } with_immutable { ($foo_called, $baz_called) = (0, 0); my $t = MyTest->new; $t->foo(1); $t->bar(1); $t->baz(1); $t->quux(1); $t->quuux(1); is($foo_called, 2, 'all aliased methods were called from foo'); is($baz_called, 3, 'all aliased methods were called from baz'); } 'MyTest';