The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use warnings;
use Test::More tests => 9;
use Test::Mojo;
use File::Temp qw( tempdir );

use Mojolicious::Lite;

# Tell Mojolicious we want to load the TT renderer plugin
app->plugin(
    tt_renderer => {
        template_options => {
            # These options are specific to TT
            #INCLUDE_PATH => 'templates',
            COMPILE_DIR  => tempdir( CLEANUP => 1 ),
            COMPILE_EXT  => '.ttc',
            # ... anything else to be passed on to TT should go here
        },
    }
);

app->renderer->default_handler('tt');

get '/' => sub {
    die 'foo';
};

get '/bar' => 'bar';

get '/grimlock' => 'grimlock';

my $t = Test::Mojo->new;

$t->get_ok('/')
    ->status_is(500)
    ->content_like(qr{foo});

$t->get_ok('/bar')
    ->status_is(200)
    ->content_like(qr{bar});

$t->get_ok('/grimlock')
    ->status_is(200)
    ->content_like(qr{King});

__DATA__

@@ index.html.tt
anything

@@ bar.html.tt
sometimes, the bar, he eats you...