#!perl
use Test::More;
package App;
use Mojolicious::Lite;
my $menu = [
beer => {
many => [qw/search browse/],
one => [qw/picture ingredients pubs/],
},
pub => {
many => [qw/map list search/],
one => [qw/info comments/],
}
];
plugin 'toto' => menu => $menu;
package main;
use Test::Mojo;
my $t = Test::Mojo->new("App");
$t->ua->max_redirects(10);
$t->get_ok('/')->status_is(200)->content_like(qr/search/i);
$t->get_ok('/beer')->status_is(200)->content_like(qr/search/i);
$t->get_ok('/pub')->status_is(200)->content_like(qr/map/i);
while ( my $item = shift @$menu) {
my %tabs = %{ shift @$menu };
$t->get_ok("/$item/$_")->status_is(200) for @{ $tabs{many} };
$t->get_ok("/$item/$_/2")->status_is(200) for @{ $tabs{one} };
}
done_testing();
1;