From 27d4e1a0e0d44c2745ab782639b0d83742dd1331 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 27 May 2009 23:16:11 -0500 Subject: test guard --- t/012-guard.t | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 t/012-guard.t diff --git a/t/012-guard.t b/t/012-guard.t new file mode 100644 index 0000000..841be55 --- /dev/null +++ b/t/012-guard.t @@ -0,0 +1,31 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More tests => 2; +use Test::Exception; + +package Foo; +use Moose; + +sub foo { + my $self = shift; + my ($arg) = shift; + die 'arg must be positive' if $arg < 0; + return $arg; +} + +package Foo::Sub; +use Moose; +use MooseX::Mangle; +extends 'Foo'; + +guard foo => sub { + my $self = shift; + my ($arg) = @_; + return $arg >= 0; +}; + +package main; +my $foosub = Foo::Sub->new; +is($foosub->foo(2), 2, 'foo is called if guard succeeds'); +lives_and { is($foosub->foo(-2), undef) } 'foo returns undef on guard failure'; -- cgit v1.2.3-54-g00ecf