X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Action-REST.git;a=blobdiff_plain;f=t%2Fcatalyst-request-rest.t;h=ebb7b7d61fcad52a8f71e57ff77ae210b29fdd79;hp=2226793dad96cf9da0ed5ad60286be8e9db3ae06;hb=149182b33984f338616305abf6438822058085d2;hpb=e623bdf28cc0a79351b055872dedcc1300a5eaca diff --git a/t/catalyst-request-rest.t b/t/catalyst-request-rest.t index 2226793..ebb7b7d 100644 --- a/t/catalyst-request-rest.t +++ b/t/catalyst-request-rest.t @@ -1,6 +1,6 @@ use strict; use warnings; -use Test::More tests => 28; +use Test::More; use FindBin; use lib ( "$FindBin::Bin/../lib", "$FindBin::Bin/../t/lib" ); @@ -175,9 +175,18 @@ use HTTP::Headers; is($test->request_class, 'Catalyst::Request::REST', 'Request::REST took over for Request'); - $test->request_class('Some::Other::Class'); + my $meta = Moose::Meta::Class->create_anon_class( + superclasses => ['Catalyst::Request'], + ); + $meta->add_method('__random_method' => sub { 42 }); + + $test->request_class($meta->name); + # FIXME - setup_finished(0) is evil! eval { $test->setup_finished(0); $test->setup }; - like $@, qr/$test has a custom request class Some::Other::Class/; + ok !$@, 'Can setup again'; + isnt $test->request_class, $meta->name, 'Different request class'; + ok $test->request_class->can('__random_method'), 'Is right class'; + ok $test->request_class->can('data'), 'Also smells like REST subclass'; { package My::Request; @@ -188,6 +197,8 @@ use HTTP::Headers; is $@, '', 'no error from Request::REST subclass'; } +done_testing; + package MockContext; sub prepare_body { }