From: Graham Knop Date: Sun, 26 Jul 2020 17:52:36 +0000 (+0200) Subject: fix uri_for class method tests X-Git-Tag: v5.90_127~7 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=6c217fb3c36a6e0ac4ef82b839ee3d5ed924e2e5 fix uri_for class method tests It doesn't seem like the tests ever worked, because they weren't providing the needed captures, and the URLs they were checking we wrong. --- diff --git a/t/aggregate/unit_core_uri_for_action.t b/t/aggregate/unit_core_uri_for_action.t index c6c7678..f9d3ba1 100644 --- a/t/aggregate/unit_core_uri_for_action.t +++ b/t/aggregate/unit_core_uri_for_action.t @@ -77,45 +77,25 @@ my $context = TestApp->new( { namespace => 'yada', } ); - - - -# JNAP: I'm going to todo these tests, calling uri_for as a class method -# should work, but its not really useful so I think theres not much harm -# if someone needs this for a business case they are welcome to figure out -# what is going - -TODO: { - local $TODO = "Need to fix using uri_for and uri_for_action as a class method"; - - -# this works, using $ctx -is($context->uri_for($context->controller('Action::Chained')->action_for('endpoint')), - "http://127.0.0.1/foo/yada/chained/foo/end", +is($context->uri_for($context->controller('Action::Chained')->action_for('endpoint'), [ 1 ]), + 'http://127.0.0.1/foo/chained/foo/1/end', "uri_for a controller and action"); +is( $context->uri_for_action( '/action/chained/endpoint', [ 1 ] ), + 'http://127.0.0.1/foo/chained/foo/1/end', + "uri_for a controller and action as string"); -# this fails, uri_for returns undef, why isn't this one working?? - is( $context->uri_for_action( '/action/chained/endpoint' ), - 'http://127.0.0.1/chained/foo/end', - "uri_for a controller and action as string"); - -# this fails, uri_for returns undef - is(TestApp->uri_for_action($context->controller('Action::Chained')->action_for('endpoint')), - "/chained/foo/end", - "uri_for a controller and action, called with only class name"); +is(TestApp->uri_for_action($context->controller('Action::Chained')->action_for('endpoint'), [ 1 ]), + '/chained/foo/1/end', + "uri_for a controller and action, called with only class name"); -# this fails, uri_for returns undef - is(TestApp->uri_for_action('/action/chained/endpoint' ), - "/chained/foo/end", - "uri_for a controller and action as string, called with only class name"); - -# this fails, uri_for returns undef - is(TestApp->uri_for_action( $chained_action), - "/chained/foo/end", - "uri_for action via dispatcher, called with only class name"); -} +is(TestApp->uri_for_action('/action/chained/endpoint', [ 1 ] ), + '/chained/foo/1/end', + "uri_for a controller and action as string, called with only class name"); +is(TestApp->uri_for_action( $chained_action, [ 1 ]), + '/chained/foo/1/end', + "uri_for action via dispatcher, called with only class name"); is($context->uri_for($context->controller('Action')), "http://127.0.0.1/foo/yada/action/",