support alias option on 'with'
[gitmo/Mouse.git] / t / 036-with-method-alias.t
diff --git a/t/036-with-method-alias.t b/t/036-with-method-alias.t
new file mode 100644 (file)
index 0000000..c1976ab
--- /dev/null
@@ -0,0 +1,43 @@
+use strict;
+use warnings;
+use Test::More tests => 5;
+
+{
+    package Animal;
+    use Mouse::Role;
+    sub eat { 'delicious' }
+}
+
+{
+    package Cat;
+    use Mouse::Role;
+    with 'Animal', {
+        alias => { eat => 'drink' },
+    };
+    sub eat { 'good!' }
+}
+
+{
+    package Tama;
+    use Mouse;
+    with 'Cat';
+}
+
+{
+    package Dog;
+    use Mouse;
+    with 'Animal', {
+        alias => { eat => 'drink' }
+    };
+}
+
+ok(!Dog->can('eat'));
+ok(Dog->can('drink'));
+
+my $d = Dog->new();
+is($d->drink(), 'delicious');
+
+my $t = Tama->new;
+is $t->drink(), 'delicious';
+is $t->eat(),    'good!';
+