File: | t/response-redirect.t |
Coverage: | 96.5% |
line | stmt | bran | cond | sub | pod | time | code |
---|---|---|---|---|---|---|---|
1 | #!/usr/bin/env perl | ||||||
2 | |||||||
3 | 1 1 1 | 103 10 11 | use strict; | ||||
4 | 1 1 1 | 10 3 11 | use warnings; | ||||
5 | 1 1 1 | 113 6 5 | use Moose (); | ||||
6 | 1 1 1 | 92 5 16 | use Test::More tests => 4; | ||||
7 | |||||||
8 | package FooController; | ||||||
9 | 1 1 1 | 85 5 13 | use Railsish::Controller; | ||||
10 | |||||||
11 | sub bar { | ||||||
12 | 0 | 0 | response->body("bar"); | ||||
13 | } | ||||||
14 | |||||||
15 | sub baz { | ||||||
16 | 1 | 10 | redirect_to("/foo/bar"); | ||||
17 | } | ||||||
18 | |||||||
19 | sub bax { | ||||||
20 | 1 | 10 | redirect_to(action => "bar") | ||||
21 | } | ||||||
22 | |||||||
23 | package main; | ||||||
24 | 1 1 1 | 77 7 16 | use Railsish::Router; | ||||
25 | 1 1 1 | 87 6 21 | use Railsish::Dispatcher; | ||||
26 | 1 1 1 | 80 5 16 | use HTTP::Engine; | ||||
27 | 1 1 1 | 86 4 19 | use HTTP::Request; | ||||
28 | |||||||
29 | Railsish::Router->draw( | ||||||
30 | sub { | ||||||
31 | 1 | 6 | my ($map) = @_; | ||||
32 | 1 | 8 | $map->connect("/:controller/:action"); | ||||
33 | } | ||||||
34 | 1 | 27 | ); | ||||
35 | |||||||
36 | |||||||
37 | my $engine = HTTP::Engine->new( | ||||||
38 | interface => { | ||||||
39 | module => "Test", | ||||||
40 | request_handler => sub { | ||||||
41 | 2 | 61 | Railsish::Dispatcher->dispatch(@_); | ||||
42 | } | ||||||
43 | } | ||||||
44 | 1 | 30 | ); | ||||
45 | |||||||
46 | { | ||||||
47 | 1 1 | 68 12 | my $response = $engine->run(HTTP::Request->new(GET => "http://localhost/foo/baz")); | ||||
48 | 1 | 3 | ok($response->is_redirect); | ||||
49 | 1 | 28 | is($response->header("Location"), "/foo/bar"); | ||||
50 | } | ||||||
51 | |||||||
52 | { | ||||||
53 | 1 1 | 18 15 | my $response = $engine->run(HTTP::Request->new(GET => "http://localhost/foo/bax")); | ||||
54 | 1 | 3 | ok($response->is_redirect); | ||||
55 | 1 | 15 | is($response->header("Location"), "/foo/bar"); | ||||
56 | } | ||||||
57 |