2de6e9307f0dc8ce7de0c352d376572bea2d57b3
[catagits/Catalyst-View-ContentNegotiation-XHTML.git] / t / live-test.t
1 #!/usr/bin/env perl
2
3 use strict;
4 use warnings;
5 use Test::More tests => 13;
6
7 # setup library path
8 use FindBin qw($Bin);
9 use lib "$Bin/lib";
10
11 # 1 make sure testapp works
12 use ok 'TestApp';
13
14 # a live test against TestApp, the test application
15 use Test::WWW::Mechanize::Catalyst 'TestApp';
16 my $mech = Test::WWW::Mechanize::Catalyst->new;
17
18 # 2-4
19 $mech->get_ok('http://localhost/', 'get main page');
20 $mech->content_like(qr/it works/i, 'see if it has our text');
21 is $mech->response->headers->{'content-type'}, 'text/html; charset=utf-8',
22   'No Accept header = text/html';
23   
24 $mech->add_header( Accept => 'text/html' );
25
26 # 5-7
27 $mech->get_ok('http://localhost/', 'get main page');
28 $mech->content_like(qr/it works/i, 'see if it has our text');
29 is $mech->response->headers->{'content-type'}, 'text/html; charset=utf-8',
30   'Accept header of text/html = text/html';
31
32 $mech->add_header( Accept => 'application/xhtml+xml' );
33
34 # 8-10
35 $mech->get_ok('http://localhost/', 'get main page');
36 $mech->content_like(qr/it works/i, 'see if it has our text');
37 is $mech->response->headers->{'content-type'}, 'application/xhtml+xml; charset=utf-8',
38   'Accept xhtml gives content type application/xhtml+xml';
39
40 # 11-13
41 $mech->get_ok('http://localhost/nothtml', 'get nothtml page');
42 $mech->content_like(qr/not html/i, 'see if it has our text');
43 is $mech->response->headers->{'content-type'}, 'application/json',
44   'application/json is unmolested';