[Catalyst-commits] r8366 - in Catalyst-Runtime/5.80/trunk: . lib/Catalyst t

marcus at dev.catalyst.perl.org marcus at dev.catalyst.perl.org
Mon Sep 8 21:43:51 BST 2008


Author: marcus
Date: 2008-09-08 21:43:51 +0100 (Mon, 08 Sep 2008)
New Revision: 8366

Added:
   Catalyst-Runtime/5.80/trunk/t/catalyst-test.t
Modified:
   Catalyst-Runtime/5.80/trunk/
   Catalyst-Runtime/5.80/trunk/Changes
   Catalyst-Runtime/5.80/trunk/lib/Catalyst/Test.pm
Log:
merge in new test actions.


Property changes on: Catalyst-Runtime/5.80/trunk
___________________________________________________________________
Name: svk:merge
   - 1c72fc7c-9ce4-42af-bf25-3bfe470ff1e8:/local/Catalyst/trunk/Catalyst-Runtime:9763
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/branches/compres:7999
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/branches/context_go:8001
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/trunk:8295
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/moose:7911
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-ChildOf:4443
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-Runtime-jrockway:5857
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-component-setup:4320
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-docs:4325
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/current/Catalyst-Runtime:5142
4ad37cd2-5fec-0310-835f-b3785c72a374:/trunk/Catalyst:4483
4ad37cd2-5fec-0310-835f-b3785c72a374:/trunk/Catalyst-Runtime:6165
d7608cd0-831c-0410-93c0-e5b306c3c028:/local/Catalyst/Catalyst-Runtime:8339
d7608cd0-831c-0410-93c0-e5b306c3c028:/local/Catalyst/Catalyst-Runtime-jrockway:8342
e56d974f-7718-0410-8b1c-b347a71765b2:/local/Catalyst-Runtime:6511
e56d974f-7718-0410-8b1c-b347a71765b2:/local/Catalyst-Runtime-current:10442
   + 1c72fc7c-9ce4-42af-bf25-3bfe470ff1e8:/local/Catalyst/trunk/Catalyst-Runtime:9763
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/branches/compres:7999
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/branches/context_go:8001
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.70/trunk:8295
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/Catalyst-Test-Updates:8363
4ad37cd2-5fec-0310-835f-b3785c72a374:/Catalyst-Runtime/5.80/branches/moose:7911
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-ChildOf:4443
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-Runtime-jrockway:5857
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-component-setup:4320
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/Catalyst-docs:4325
4ad37cd2-5fec-0310-835f-b3785c72a374:/branches/current/Catalyst-Runtime:5142
4ad37cd2-5fec-0310-835f-b3785c72a374:/trunk/Catalyst:4483
4ad37cd2-5fec-0310-835f-b3785c72a374:/trunk/Catalyst-Runtime:6165
d7608cd0-831c-0410-93c0-e5b306c3c028:/local/Catalyst/Catalyst-Runtime:8339
d7608cd0-831c-0410-93c0-e5b306c3c028:/local/Catalyst/Catalyst-Runtime-jrockway:8342
e56d974f-7718-0410-8b1c-b347a71765b2:/local/Catalyst-Runtime:6511
e56d974f-7718-0410-8b1c-b347a71765b2:/local/Catalyst-Runtime-current:10442

Modified: Catalyst-Runtime/5.80/trunk/Changes
===================================================================
--- Catalyst-Runtime/5.80/trunk/Changes	2008-09-08 13:26:21 UTC (rev 8365)
+++ Catalyst-Runtime/5.80/trunk/Changes	2008-09-08 20:43:51 UTC (rev 8366)
@@ -1,6 +1,6 @@
 # This file documents the revision history for Perl extension Catalyst.
 
-5.8000
+5.8000_01
         - Port to Moose
         - Added test for action stringify
         - Added test for component instances getting $self->{value} from config.
@@ -10,6 +10,8 @@
         - Fix some Win32 test failures
         - Add pt translation of error message (wreis)
         - Make :Chained('../action') work (Florian Ragwitz)
+        - Add test actions
+        - Chained doc improvements (rev 8326-8328)
 
 5.7099_03 2008-07-20 10:10:00
         - Fix regressions for regexp fallback in model(), view() and controller()

Modified: Catalyst-Runtime/5.80/trunk/lib/Catalyst/Test.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/Test.pm	2008-09-08 13:26:21 UTC (rev 8365)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/Test.pm	2008-09-08 20:43:51 UTC (rev 8366)
@@ -1,5 +1,7 @@
 package Catalyst::Test;
 
+use Test::More;
+
 use strict;
 use warnings;
 
@@ -7,6 +9,10 @@
 use Catalyst::Utils;
 use Class::Inspector;
 
+use parent qw/Exporter/;
+our @EXPORT=qw/&content_like &action_ok &action_redirect &action_notfound &contenttype_is/;
+
+
 =head1 NAME
 
 Catalyst::Test - Test Catalyst Applications
@@ -44,8 +50,8 @@
 
     package main;
 
+    use Catalyst::Test 'TestApp';
     use Test::More tests => 1;
-    use Catalyst::Test 'TestApp';
 
     ok( get('/foo') =~ /bar/ );
 
@@ -54,7 +60,8 @@
 This module allows you to make requests to a Catalyst application either without
 a server, by simulating the environment of an HTTP request using
 L<HTTP::Request::AsCGI> or remotely if you define the CATALYST_SERVER
-environment variable.
+environment variable. This module also adds a few catalyst
+specific testing methods as displayed in the method section.
 
 The </get> and </request> functions take either a URI or an L<HTTP::Request>
 object.
@@ -112,6 +119,7 @@
     my $caller = caller(0);
     *{"$caller\::request"} = $request;
     *{"$caller\::get"}     = $get;
+    __PACKAGE__->export_to_level(1);
 }
 
 =head2 local_request
@@ -195,6 +203,72 @@
     return $agent->request($request);
 }
 
+=head2 action_ok
+
+Fetches the given url and check that the request was successful
+
+=head2 action_redirect
+
+Fetches the given url and check that the request was a redirect
+
+=head2 action_notfound
+
+Fetches the given url and check that the request was not found
+
+=head2 content_like
+
+Fetches the given url and matches the content against it.
+
+=head2 contenttype_is 
+    
+Check for given mime type
+
+=cut
+
+sub content_like {
+    my $caller=caller(0);
+    no strict 'refs';
+    my $get=*{"$caller\::get"};
+    my $action=shift;
+    return Test::More->builder->like(&$get($action), at _);
+}
+
+sub action_ok {
+    my $caller=caller(0);
+    no strict 'refs';
+    my $request=*{"$caller\::request"};
+    my $action=shift;
+    return Test::More->builder->ok(&$request($action)->is_success, @_);
+}
+
+sub action_redirect {
+    my $caller=caller(0);
+    no strict 'refs';
+    my $request=*{"$caller\::request"};
+    my $action=shift;
+    return Test::More->builder->ok(&$request($action)->is_redirect, at _);
+    
+}
+
+sub action_notfound {
+    my $caller=caller(0);
+    no strict 'refs';
+    my $request=*{"$caller\::request"};
+    my $action=shift;
+    return Test::More->builder->is_eq(&$request($action)->code,404, at _);
+
+}
+
+
+sub contenttype_is {
+    my $caller=caller(0);
+    no strict 'refs';
+    my $request=*{"$caller\::request"};
+    my $action=shift;
+    my $res=&$request($action);
+    return Test::More->builder->is_eq(scalar($res->content_type), at _);
+}
+
 =head1 SEE ALSO
 
 L<Catalyst>, L<Test::WWW::Mechanize::Catalyst>,

Added: Catalyst-Runtime/5.80/trunk/t/catalyst-test.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/catalyst-test.t	                        (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/catalyst-test.t	2008-09-08 20:43:51 UTC (rev 8366)
@@ -0,0 +1,11 @@
+use FindBin;
+use lib "$FindBin::Bin/lib";
+use Catalyst::Test 'TestApp';
+
+use Test::More tests => 5;
+
+content_like('/',qr/root/,'content check');
+action_ok('/','Action ok ok','normal action ok');
+action_redirect('/engine/response/redirect/one','redirect check');
+action_notfound('/engine/response/status/s404','notfound check');
+contenttype_is('/action/local/one','text/plain','Contenttype check');
\ No newline at end of file




More information about the Catalyst-commits mailing list