get '/javascripts/:file' => sub {
my ($file) = splat;
send_file( '/javascripts/' . params->{file},
streaming => 1,
content_type => 'text/javascript',
);
};
####
response_status_is [ GET => '/javascripts/test.js' ], 200,
'response status is 200 for /js/test.js';
response_content_is [ GET => '/javascripts/test.js' ], 'var test = 1;', 'Fetched JS';
response_headers_include [ GET => '/javascripts/test.js' ],
[ 'Content-Type' => 'text/javascript' ], "MIME type set for JS";
####
not ok 4 - Fetched JS
# Failed test 'Fetched JS'
# at t/002_index_route.t line 14.
# got: 'GLOB(0x31fa178)'
# expected: 'var test = 1;'
not ok 5 - MIME type set for JS
# Failed test 'MIME type set for JS'
# at t/002_index_route.t line 15.
# Looks like you failed 2 tests of 5.
####
0 Dancer::Response=HASH(0x23dca98)
'content' => GLOB(0x23eb3e8)
-> *Dancer::FileUtils::$fh
FileHandle({*Dancer::FileUtils::$fh}) => fileno(7)
'encoded' => 0
'forward' => ''
'halted' => 0
'headers' => HTTP::Headers=HASH(0x23e0060)
'content-type' => MIME::Type=HASH(0x1706478)
'MT_encoding' => '8bit'
'MT_extensions' => ARRAY(0x1706580)
0 'js'
'MT_simplified' => 'application/javascript'
'MT_type' => 'application/javascript'
'last-modified' => 'Fri, 01 Mar 2013 15:31:21 GMT'
'pass' => 0
'status' => 200