5 use Test::More tests => 28;
11 # 1 make sure testapp works
14 # a live test against TestApp, the test application
15 use Test::WWW::Mechanize::Catalyst 'TestApp';
16 my $mech = Test::WWW::Mechanize::Catalyst->new;
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';
24 $mech->add_header( Accept => 'text/html' );
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';
32 $mech->add_header( Accept => 'application/xhtml+xml' );
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';
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';
47 $mech->add_header( Accept => 'text/html, application/xhtml+xml');
48 $mech->get_ok('http://localhost/', 'get main page');
49 $mech->content_like(qr/it works/i, 'see if it has our text');
50 is $mech->response->headers->{'content-type'}, 'application/xhtml+xml; charset=utf-8',
51 'Accept xhtml AND html gives content type application/xhtml+xml';
55 $mech->add_header( Accept => 'text/html, application/xhtml+xml;q=0');
56 $mech->get_ok('http://localhost/', 'get main page');
57 $mech->content_like(qr/it works/i, 'see if it has our text');
58 is $mech->response->headers->{'content-type'}, 'text/html; charset=utf-8',
59 'Accept header of application/xhtml+xml with q value of 0 and text/html = text/html';
62 $mech->add_header( Accept => 'text/html;q=0, application/xhtml+xml');
63 $mech->get_ok('http://localhost/', 'get main page');
64 $mech->content_like(qr/it works/i, 'see if it has our text');
65 is $mech->response->headers->{'content-type'}, 'application/xhtml+xml; charset=utf-8',
66 'Accept html with a q value of 0 gives content type application/xhtml+xml';
69 $mech->add_header( Accept => '*/*');
70 $mech->get_ok('http://localhost/', 'get main page');
71 $mech->content_like(qr/it works/i, 'see if it has our text');
72 is $mech->response->headers->{'content-type'}, 'text/html; charset=utf-8',
73 'Accept */* content type text/html';
76 $mech->add_header( Accept => '*/*, application/xhtml+xml');
77 $mech->get_ok('http://localhost/', 'get main page');
78 $mech->content_like(qr/it works/i, 'see if it has our text');
79 is $mech->response->headers->{'content-type'}, 'application/xhtml+xml; charset=utf-8',
80 'Accept */* and application/xhtml+xml gives content type application/xhtml+xml';