[Catalyst-commits] r10583 - Catalyst-Runtime/5.80/trunk/t
zarquon at dev.catalyst.perl.org
zarquon at dev.catalyst.perl.org
Thu Jun 18 10:47:36 GMT 2009
Author: zarquon
Date: 2009-06-18 10:47:36 +0000 (Thu, 18 Jun 2009)
New Revision: 10583
Added:
Catalyst-Runtime/5.80/trunk/t/path_escape_bug.t
Log:
attempt to test for the infamous repeating path-uri-escape evil
Added: Catalyst-Runtime/5.80/trunk/t/path_escape_bug.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/path_escape_bug.t (rev 0)
+++ Catalyst-Runtime/5.80/trunk/t/path_escape_bug.t 2009-06-18 10:47:36 UTC (rev 10583)
@@ -0,0 +1,37 @@
+#!/usr/bin/env perl
+use warnings;
+use strict;
+use Test::More qw/no_plan/;
+
+{
+ package TestApp;
+ use parent qw/Catalyst/;
+ use parent qw/Catalyst::Controller/;
+ __PACKAGE__->setup();
+
+ sub thing :Path {
+ my ($self, $c, @path) = @_;
+ $c->res->body(join "/", @path);
+ }
+ sub another :Path('something') {
+ my ($self, $c) = @_;
+ $c->forward('thing');
+ }
+ sub thing_uri :Path('thing_uri') {
+ my ($self, $c, @path) = @_;
+ $c->res->body($c->uri_for(@path));
+ }
+}
+
+use_ok "Catalyst::Test", "TestApp";
+my $req_path = 'foo/bar/baz quoxx{fnord}';
+my $req = request("/$req_path");
+ok($req->is_success, 'request succeeds');
+is($req->content, $req_path, "returned path is identical to received path");
+$req = request("/something/$req_path");
+ok($req->is_success, 'request succeeds');
+is($req->content, $req_path, "returned path is identical to received path 2");
+$req = request("/thing_uri/$req_path");
+ok($req->is_success, 'request succeeds');
+is($req->content, "http://localhost/$req_path", "returned path is identical to received path 2");
+
More information about the Catalyst-commits
mailing list