| File: | t/lib/TestApp.pm |
| Coverage: | 100.0% |
| line | stmt | time | code |
|---|---|---|---|
| 1 | package TestApp; | ||
| 2 | |||
| 3 | 1 1 1 | 987 405059 7 | use Dancer; |
| 4 | 1 1 1 | 3282 175 913 | use Dancer::Plugin::BeforeRoute; |
| 5 | |||
| 6 | set logger => "console"; | ||
| 7 | set log => "error"; | ||
| 8 | set show_errors => 1; | ||
| 9 | set show_warnings => 1; | ||
| 10 | set template => "simple"; | ||
| 11 | |||
| 12 | before_route | ||
| 13 | get => "/", | ||
| 14 | sub { | ||
| 15 | var before_run => "homepage"; | ||
| 16 | }; | ||
| 17 | |||
| 18 | get "/" => sub { | ||
| 19 | ## Return "homepage" | ||
| 20 | return var "before_run"; | ||
| 21 | }; | ||
| 22 | |||
| 23 | before_route | ||
| 24 | get => "/foo", | ||
| 25 | sub { | ||
| 26 | var before_run => "foo"; | ||
| 27 | }; | ||
| 28 | |||
| 29 | get "/foo" => sub { | ||
| 30 | ## Return "foo" | ||
| 31 | return var "before_run"; | ||
| 32 | }; | ||
| 33 | |||
| 34 | before_route | ||
| 35 | post => qr{/bar}, | ||
| 36 | sub { | ||
| 37 | ## Retrun "bar" | ||
| 38 | return var before_run => "bar"; | ||
| 39 | }; | ||
| 40 | |||
| 41 | post "/bar" => sub { | ||
| 42 | return var "before_run"; | ||
| 43 | }; | ||
| 44 | |||
| 45 | before_route | ||
| 46 | get => "/foo/:bar", | ||
| 47 | sub { | ||
| 48 | ## Retrun "bar" | ||
| 49 | return var before_run => param "bar"; | ||
| 50 | }; | ||
| 51 | |||
| 52 | get "/foo/:bar" => sub { | ||
| 53 | return var "before_run"; | ||
| 54 | }; | ||
| 55 | |||
| 56 | hook before_template_render => sub { | ||
| 57 | my $stash = shift; | ||
| 58 | $stash->{global} = "yes"; | ||
| 59 | }; | ||
| 60 | |||
| 61 | before_of( | ||
| 62 | template_render => ( get => "/index.html" ), | ||
| 63 | sub { | ||
| 64 | my $stash = shift; | ||
| 65 | $stash->{something} .= "bar"; | ||
| 66 | } | ||
| 67 | ); | ||
| 68 | |||
| 69 | get "/index.html" => sub { | ||
| 70 | return template "test1.tt", { something => "foo", }; | ||
| 71 | }; | ||
| 72 | |||
| 73 | get "/second.html" => sub { | ||
| 74 | return template "test1.tt", { something => "foo", }; | ||
| 75 | }; | ||
| 76 | |||
| 77 | 1; | ||