|  | package Kalamar::Plugin::Test; | 
|  | use Mojo::Base 'Mojolicious::Plugin'; | 
|  |  | 
|  |  | 
|  | sub register { | 
|  | my ($plugin, $app, $param) = @_; | 
|  |  | 
|  | # Add entry to settings navigation | 
|  | $app->navi->add(settings => ( | 
|  | 'OAuth Token Management', 'oauth' | 
|  | )); | 
|  |  | 
|  | $app->routes->get('/settings/oauth')->to( | 
|  | cb => sub { | 
|  | my $c = shift; | 
|  | $c->content_with(settings => '<p id="abc">My Settings</p>'); | 
|  | return $c->render('settings'); | 
|  | } | 
|  | ); | 
|  | }; | 
|  |  | 
|  | package main; | 
|  | use Mojo::Base -strict; | 
|  | use Test::More; | 
|  | use Test::Mojo; | 
|  | use Mojo::ByteStream 'b'; | 
|  |  | 
|  | my $t = Test::Mojo->new('Kalamar' => { | 
|  | Kalamar => { | 
|  | plugins => ['Test'] | 
|  | } | 
|  | }); | 
|  |  | 
|  | $t->get_ok('/settings') | 
|  | ->text_is('a[href*=/settings/oauth]','OAuth Token Management') | 
|  | ->text_is('h1 span', 'Settings') | 
|  | ; | 
|  |  | 
|  | $t->get_ok('/settings/oauth') | 
|  | ->text_is('a[href*=/settings/oauth]','OAuth Token Management') | 
|  | ->text_is('h1 span', 'Settings') | 
|  | ->text_is('p#abc', 'My Settings') | 
|  | ; | 
|  |  | 
|  | done_testing; | 
|  | __END__ |