type constraints now stringify to their name (phaylon)
Robert 'phaylon' Sedlacek [Sat, 24 Mar 2007 18:05:20 +0000 (18:05 +0000)]
Changes
lib/Moose/Meta/TypeConstraint.pm
t/050_util_type_constraints.t

diff --git a/Changes b/Changes
index e1ce698..c64a5b3 100644 (file)
--- a/Changes
+++ b/Changes
@@ -16,6 +16,10 @@ Revision history for Perl extension Moose
         things like &new)
         - added tests and docs for this
 
+    * Moose::Meta::TypeConstraint
+      - type constraints now stringify to their names.
+        - added test for this
+
     * misc.
       - added test for working with Module::Refresh 
 
@@ -552,4 +556,4 @@ Revision history for Perl extension Moose
            full fledges meta-objects
 
 0.01 Wed. March 15, 2006
-    - Moooooooooooooooooose!!!
\ No newline at end of file
+    - Moooooooooooooooooose!!!
index 0326a14..8295230 100644 (file)
@@ -5,6 +5,9 @@ use strict;
 use warnings;
 use metaclass;
 
+use overload '""'     => sub { shift->name },   # stringify to tc name
+             fallback => 1;
+
 use Sub::Name    'subname';
 use Carp         'confess';
 use Scalar::Util 'blessed';
index 8e5b96a..37a7fa9 100644 (file)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 36;
+use Test::More tests => 37;
 use Test::Exception;
 
 use Scalar::Util ();
@@ -30,6 +30,10 @@ Moose::Util::TypeConstraints->export_type_contstraints_as_functions();
 
 ok(Number(5), '... this is a Num');
 ok(!defined(Number('Foo')), '... this is not a Num');
+{
+    my $number_tc = Moose::Util::TypeConstraints::find_type_constraint('Number');
+    is("$number_tc", 'Number', '... type constraint stringifies to name');
+}
 
 ok(String('Foo'), '... this is a Str');
 ok(!defined(String(5)), '... this is not a Str');