1#!perl
2
3use strict;
4use warnings;
5use Test::More tests => 4;
6
7use FindBin;
8use lib "$FindBin::Bin/lib";
9
10use_ok('Catalyst::Test', 'TestApp');
11
12{
13    my $response = request('/exception');
14    ok(!$response->is_success, 'request fails');
15}
16
17SKIP: {
18    eval 'use Test::MockModule';
19    skip 'Test::MockModule required', 2 if $@;
20
21    my $mock = Test::MockModule->new('HTML::Mason::Interp');
22    $mock->mock(exec => sub { die bless \do { my $o }, 'FakeException' });
23
24    my $response = request('/exception');
25    ok($response->is_success, 'request succeeds');
26    like($response->content, qr/^FakeException=/, 'request content contains stringified exception');
27}
28