tests for _load_module
[gitmo/Role-Tiny.git] / t / concrete-methods.t
index 8425386..4fc0601 100644 (file)
@@ -9,6 +9,7 @@ use Test::Fatal;
   sub before_role {}
 
   use Role::Tiny;
+  no warnings 'once';
 
   our $GLOBAL1 = 1;
   sub after_role {}
@@ -16,6 +17,7 @@ use Test::Fatal;
 
 {
   package MyClass1;
+  no warnings 'once';
 
   our $GLOBAL1 = 1;
   sub method {}
@@ -25,8 +27,16 @@ my $role_methods = Role::Tiny->_concrete_methods_of('MyRole1');
 is_deeply([sort keys %$role_methods], ['after_role'],
   'only subs after Role::Tiny import are methods' );
 
+my @role_method_list = Role::Tiny->methods_provided_by('MyRole1');
+is_deeply(\@role_method_list, ['after_role'],
+  'methods_provided_by gives method list' );
+
 my $class_methods = Role::Tiny->_concrete_methods_of('MyClass1');
 is_deeply([sort keys %$class_methods], ['method'],
   'only subs from non-Role::Tiny packages are methods' );
 
+like exception { Role::Tiny->methods_provided_by('MyClass1') },
+  qr/is not a Role::Tiny/,
+  'methods_provided_by refuses to work on classes';
+
 done_testing;