Throw an error if there's no parameter name provided
Shawn M Moore [Mon, 8 Dec 2008 01:16:00 +0000 (01:16 +0000)]
lib/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm
t/100-erroneous-keywords.t

index 6718cc6..a7c7e58 100644 (file)
@@ -28,6 +28,9 @@ sub add_parameter {
     my $self = shift;
     my $name = shift;
 
+    confess "You must provide a name for the parameter"
+        if !defined($name);
+
     # need to figure out a plan for these guys..
     confess "The parameter name ($name) is currently forbidden."
         if $name eq 'alias'
index 3405cc2..fabcecf 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/env perl
 use strict;
 use warnings;
-use Test::More tests => 3;
+use Test::More tests => 4;
 
 use Test::Exception;
 
@@ -9,6 +9,10 @@ do {
     package MyRole::Storage;
     use MooseX::Role::Parameterized;
 
+    ::throws_ok {
+        parameter()
+    } qr/^You must provide a name for the parameter/;
+
     role {
         ::throws_ok {
             extends 'MyRole::Parameterized';