File: 022_role_caller.t

package info (click to toggle)
libmouse-perl 2.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,156 kB
  • sloc: perl: 14,569; ansic: 218; makefile: 8
file content (31 lines) | stat: -rw-r--r-- 820 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package MyRole;
# This is automatically generated by author/import-moose-test.pl.
# DO NOT EDIT THIS FILE. ANY CHANGES WILL BE LOST!!!
use lib "t/lib";
use MooseCompat;

use Mouse::Role;

sub foo { return (caller(0))[3] }

no Mouse::Role;

package MyClass1; use Mouse; with 'MyRole'; no Mouse;
package MyClass2; use Mouse; with 'MyRole'; no Mouse;

package main;

use Test::More;

{
  local $TODO = 'Role composition does not clone methods yet';
  is(MyClass1->foo, 'MyClass1::foo',
    'method from role has correct name in caller()');
  is(MyClass2->foo, 'MyClass2::foo',
    'method from role has correct name in caller()');
}

isnt(MyClass1->foo, "MyClass2::foo", "role method is not confused with other class" );
isnt(MyClass2->foo, "MyClass1::foo", "role method is not confused with other class" );

done_testing;