diff -ur Catalyst-Plugin-Authentication-0.10007/lib/Catalyst/Plugin/Authentication.pm Catalyst-Plugin-Authentication-0.10007.undef/lib/Catalyst/Plugin/Authentication.pm --- Catalyst-Plugin-Authentication-0.10007/lib/Catalyst/Plugin/Authentication.pm 2008-08-18 06:10:07.000000000 +0100 +++ Catalyst-Plugin-Authentication-0.10007.undef/lib/Catalyst/Plugin/Authentication.pm 2008-09-18 14:56:32.433683680 +0100 @@ -184,7 +184,7 @@ } else { $realm = $c->_find_realm_for_persisted_user; } - return unless $realm; # FIXME die unless? This is an internal inconsistency + return undef unless $realm; # FIXME die unless? This is an internal inconsistency $c->_user( my $user = $realm->restore_user( $c, $frozen_user ) ); diff -ur Catalyst-Plugin-Authentication-0.10007/t/lib/AuthTestApp.pm Catalyst-Plugin-Authentication-0.10007.undef/t/lib/AuthTestApp.pm --- Catalyst-Plugin-Authentication-0.10007/t/lib/AuthTestApp.pm 2008-01-21 08:03:35.000000000 +0000 +++ Catalyst-Plugin-Authentication-0.10007.undef/t/lib/AuthTestApp.pm 2008-09-18 14:55:54.977377904 +0100 @@ -13,9 +13,13 @@ our $users; +sub number_of_elements { return scalar @_ } + sub moose : Local { my ( $self, $c ) = @_; + is(number_of_elements($c->user), 1, "Array undef"); + is($c->user, undef, "no user, returns undef"); ok(!$c->user, "no user"); ok($c->login( "foo", "s3cr3t" ), "can login with clear"); is( $c->user, $users->{foo}, "user object is in proper place");