Back
From: metabase:user:6970b1ae-1421-11e4-ab07-c64c76713efd
Subject: FAIL Mojolicious-Plugin-Thumbnail-0.01 v5.16.2 Mac OS X
Date: 2014-08-09T21:52:11Z
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language. See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org
--
Dear GATITSKIY,
This is a computer-generated report for Mojolicious-Plugin-Thumbnail-0.01
on perl 5.16.2, created by App::cpanminus::reporter 0.11 (1.7004).
Thank you for uploading your work to CPAN. However, there was a problem
testing your distribution.
If you think this report is invalid, please consult the CPAN Testers Wiki
for suggestions on how to avoid getting FAIL reports for missing library
or binary dependencies, unsupported operating systems, and so on:
http://wiki.cpantesters.org/wiki/CPANAuthorNotes
Sections of this report:
* Tester comments
* Program output
* Prerequisites
* Environment and other context
------------------------------
TESTER COMMENTS
------------------------------
Additional comments from tester:
none provided
------------------------------
PROGRAM OUTPUT
------------------------------
Output from '':
Building and testing Mojolicious-Plugin-Thumbnail-0.01
cp README.pod blib/lib/Mojolicious/Plugin/README.pod
cp lib/Mojolicious/Plugin/Thumbnail.pm blib/lib/Mojolicious/Plugin/Thumbnail.pm
Manifying blib/man3/Mojolicious::Plugin::README.3pm
Manifying blib/man3/Mojolicious::Plugin::Thumbnail.3pm
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
# Failed test '200 OK'
# at t/basic.t line 26.
# got: '500'
# expected: '200'
# Failed test 'exact match for content'
# at t/basic.t line 26.
# got: '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet" />
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# box-shadow: 0px 0px 2px #999;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing { padding-top: 60px }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.6);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 3px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #ccc;
# font: 1em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# border: 0;
# border-radius: 10px;
# display: inline;
# margin-left: 1em;
# padding: 3px;
# }
# #mojobar-links input:focus { outline: 0 }
# #mojobar-links form { display: inline }
# .animated { transition: top 0.2s ease-in-out }
# </style>
# <div id="mojobar-logo">
# <a href="http://mojolicio.us">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png" />
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicio.us/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="http://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="http://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.kraih.com">Blog</a>
# <a href="http://twitter.com/kraih">Twitter</a>
# <form action="http://google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi" />
# <input name="ie" type="hidden" value="UTF-8" />
# <input name="q" placeholder="Search" type="search" />
# </form>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function fixOffset() {
# var offset = $(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).load(function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = start;
# $(window).scroll(function () {
# var st = $(window).scrollTop();
# if (!fixed && st > start) {
# fixed = true;
# mojobar.css('position', 'fixed').css('top', 0);
# } else if (fixed && st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css('position', 'absolute').css('top', start + 'px');
# }
# else if (fixed && (Math.abs(lastScrollTop - st) > 100)) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('top', 0 - (mojobarHeight + 5));
# } else if (st + $(window).height() < $(document).height()) {
# mojobar.css('top', 0);
# }
# lastScrollTop = st;
# }
# });
# });
# $(document).ready(function() {
# $('a[href^="#"]').addClass('mojoscroll');
# $(".mojoscroll").click(function(e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = "#" + this.href.split("#")[1];
# var target = $(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).click(function() {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(document).ready(function() {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">Source file missing at /Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/lib/Mojolicious/Plugin/Thumbnail.pm line 27.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">22</td>
# <td class="value wide">
# <pre class="prettyprint"> $conf = {%{$self->default_args}, %$conf};</pre>
# </td>
# </tr>
# <tr>
# <td class="key">23</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr>
# <td class="key">24</td>
# <td class="value wide">
# <pre class="prettyprint"> my $src_image = Imager->new();</pre>
# </td>
# </tr>
# <tr>
# <td class="key">25</td>
# <td class="value wide">
# <pre class="prettyprint"> my $dst_image;</pre>
# </td>
# </tr>
# <tr>
# <td class="key">26</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">27</td>
# <td class="value wide">
# <pre class="prettyprint"> die 'Source file missing' unless $src_image->open(file => $conf->{src});</pre>
# </td>
# </tr>
# <tr>
# <td class="key">28</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr>
# <td class="key">29</td>
# <td class="value wide">
# <pre class="prettyprint"> my ($src_width, $src_height) = ($src_image->getwidth, $src_image->getheight);</pre>
# </td>
# </tr>
# <tr>
# <td class="key">30</td>
# <td class="value wide">
# <pre class="prettyprint"> my ($dst_width, $dst_height) = (int $conf->{width}, int $conf->{height} );</pre>
# </td>
# </tr>
# <tr>
# <td class="key">31</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr>
# <td class="key">32</td>
# <td class="value wide">
# <pre class="prettyprint"> if (!$dst_height || ($dst_width && $src_width < $src_height)) {</pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/lib/Mojolicious/Plugin/Thumbnail.pm:27</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Controller.pm:37</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/basic.t:13</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:126</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:20</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:23</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:106</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:119</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:42</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:51</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:118</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:127</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:20</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:199</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:199</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:20</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:23</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:133</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server.pm:71</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server/Daemon.pm:83</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Transaction/HTTP.pm:65</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server/Daemon.pm:186</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server/Daemon.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:33</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:33</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/IOLoop/Stream.pm:116</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/IOLoop/Stream.pm:53</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/Poll.pm:115</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/Poll.pm:115</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:52</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:43</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:24</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:24</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/IOLoop.pm:130</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/UserAgent.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Test/Mojo.pm:362</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Test/Mojo.pm:311</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Test/Mojo.pm:248</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/basic.t:26</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>POST</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/make_thumb</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://localhost:56737</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# "height" => 100,
# "width" => 100
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# "cb" => sub { "DUMMY" }
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Connection:</td>
# <td class="striped value wide"><pre>keep-alive</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>20</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Type:</td>
# <td class="striped value wide"><pre>application/x-www-form-urlencoded</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>localhost:56737</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.16.2 (darwin)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>5.24 (Tiger Face)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/t/templates"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# "main"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/t/public"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# "main"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/lib",
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/arch",
# "/Users/dhorner/perl5/lib/perl5/darwin-thread-multi-2level",
# "/Users/dhorner/perl5/lib/perl5/darwin-thread-multi-2level",
# "/Users/dhorner/perl5/lib/perl5",
# "/Users/dhorner/perl5/lib/perl5/darwin-thread-multi-2level",
# "/Users/dhorner/perl5/lib/perl5",
# "/Library/Perl/5.16/darwin-thread-multi-2level",
# "/Library/Perl/5.16",
# "/Network/Library/Perl/5.16/darwin-thread-multi-2level",
# "/Network/Library/Perl/5.16",
# "/Library/Perl/Updates/5.16.2/darwin-thread-multi-2level",
# "/Library/Perl/Updates/5.16.2",
# "/System/Library/Perl/5.16/darwin-thread-multi-2level",
# "/System/Library/Perl/5.16",
# "/System/Library/Perl/Extras/5.16/darwin-thread-multi-2level",
# "/System/Library/Perl/Extras/5.16",
# "."
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/usr/bin/perl</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>34627</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Sat Aug 9 11:12:53 2014</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicio.us">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png" />
# </a> </div>
# </body>
# </html>
# '
# expected: '100x100'
# Failed test '200 OK'
# at t/basic.t line 31.
# got: '500'
# expected: '200'
# Failed test 'exact match for content'
# at t/basic.t line 31.
# got: '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet" />
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# box-shadow: 0px 0px 2px #999;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing { padding-top: 60px }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.6);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 3px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #ccc;
# font: 1em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# border: 0;
# border-radius: 10px;
# display: inline;
# margin-left: 1em;
# padding: 3px;
# }
# #mojobar-links input:focus { outline: 0 }
# #mojobar-links form { display: inline }
# .animated { transition: top 0.2s ease-in-out }
# </style>
# <div id="mojobar-logo">
# <a href="http://mojolicio.us">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png" />
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicio.us/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="http://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="http://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.kraih.com">Blog</a>
# <a href="http://twitter.com/kraih">Twitter</a>
# <form action="http://google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi" />
# <input name="ie" type="hidden" value="UTF-8" />
# <input name="q" placeholder="Search" type="search" />
# </form>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function fixOffset() {
# var offset = $(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).load(function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = start;
# $(window).scroll(function () {
# var st = $(window).scrollTop();
# if (!fixed && st > start) {
# fixed = true;
# mojobar.css('position', 'fixed').css('top', 0);
# } else if (fixed && st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css('position', 'absolute').css('top', start + 'px');
# }
# else if (fixed && (Math.abs(lastScrollTop - st) > 100)) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('top', 0 - (mojobarHeight + 5));
# } else if (st + $(window).height() < $(document).height()) {
# mojobar.css('top', 0);
# }
# lastScrollTop = st;
# }
# });
# });
# $(document).ready(function() {
# $('a[href^="#"]').addClass('mojoscroll');
# $(".mojoscroll").click(function(e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = "#" + this.href.split("#")[1];
# var target = $(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).click(function() {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(document).ready(function() {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">Source file missing at /Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/lib/Mojolicious/Plugin/Thumbnail.pm line 27.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">22</td>
# <td class="value wide">
# <pre class="prettyprint"> $conf = {%{$self->default_args}, %$conf};</pre>
# </td>
# </tr>
# <tr>
# <td class="key">23</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr>
# <td class="key">24</td>
# <td class="value wide">
# <pre class="prettyprint"> my $src_image = Imager->new();</pre>
# </td>
# </tr>
# <tr>
# <td class="key">25</td>
# <td class="value wide">
# <pre class="prettyprint"> my $dst_image;</pre>
# </td>
# </tr>
# <tr>
# <td class="key">26</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">27</td>
# <td class="value wide">
# <pre class="prettyprint"> die 'Source file missing' unless $src_image->open(file => $conf->{src});</pre>
# </td>
# </tr>
# <tr>
# <td class="key">28</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr>
# <td class="key">29</td>
# <td class="value wide">
# <pre class="prettyprint"> my ($src_width, $src_height) = ($src_image->getwidth, $src_image->getheight);</pre>
# </td>
# </tr>
# <tr>
# <td class="key">30</td>
# <td class="value wide">
# <pre class="prettyprint"> my ($dst_width, $dst_height) = (int $conf->{width}, int $conf->{height} );</pre>
# </td>
# </tr>
# <tr>
# <td class="key">31</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr>
# <td class="key">32</td>
# <td class="value wide">
# <pre class="prettyprint"> if (!$dst_height || ($dst_width && $src_width < $src_height)) {</pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/lib/Mojolicious/Plugin/Thumbnail.pm:27</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Controller.pm:37</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/basic.t:13</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:126</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:20</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:23</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:106</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:119</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:42</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:51</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:118</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:127</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:20</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:199</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:199</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:20</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:23</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:133</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server.pm:71</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server/Daemon.pm:83</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Transaction/HTTP.pm:65</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server/Daemon.pm:186</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server/Daemon.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:33</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:33</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/IOLoop/Stream.pm:116</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/IOLoop/Stream.pm:53</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/Poll.pm:115</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/Poll.pm:115</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:52</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:43</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:24</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:24</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/IOLoop.pm:130</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/UserAgent.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Test/Mojo.pm:362</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Test/Mojo.pm:311</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Test/Mojo.pm:248</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/basic.t:31</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>POST</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/make_thumb</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://localhost:56737</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# "width" => 100
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# "cb" => sub { "DUMMY" }
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Connection:</td>
# <td class="striped value wide"><pre>keep-alive</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>9</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Type:</td>
# <td class="striped value wide"><pre>application/x-www-form-urlencoded</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>localhost:56737</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.16.2 (darwin)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>5.24 (Tiger Face)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/t/templates"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# "main"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/t/public"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# "main"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/lib",
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/arch",
# "/Users/dhorner/perl5/lib/perl5/darwin-thread-multi-2level",
# "/Users/dhorner/perl5/lib/perl5/darwin-thread-multi-2level",
# "/Users/dhorner/perl5/lib/perl5",
# "/Users/dhorner/perl5/lib/perl5/darwin-thread-multi-2level",
# "/Users/dhorner/perl5/lib/perl5",
# "/Library/Perl/5.16/darwin-thread-multi-2level",
# "/Library/Perl/5.16",
# "/Network/Library/Perl/5.16/darwin-thread-multi-2level",
# "/Network/Library/Perl/5.16",
# "/Library/Perl/Updates/5.16.2/darwin-thread-multi-2level",
# "/Library/Perl/Updates/5.16.2",
# "/System/Library/Perl/5.16/darwin-thread-multi-2level",
# "/System/Library/Perl/5.16",
# "/System/Library/Perl/Extras/5.16/darwin-thread-multi-2level",
# "/System/Library/Perl/Extras/5.16",
# "."
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/usr/bin/perl</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>34627</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Sat Aug 9 11:12:53 2014</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicio.us">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png" />
# </a> </div>
# </body>
# </html>
# '
# expected: '100x109'
# Failed test '200 OK'
# at t/basic.t line 36.
# got: '500'
# expected: '200'
# Failed test 'exact match for content'
# at t/basic.t line 36.
# got: '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet" />
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# box-shadow: 0px 0px 2px #999;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing { padding-top: 60px }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.6);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 3px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #ccc;
# font: 1em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# border: 0;
# border-radius: 10px;
# display: inline;
# margin-left: 1em;
# padding: 3px;
# }
# #mojobar-links input:focus { outline: 0 }
# #mojobar-links form { display: inline }
# .animated { transition: top 0.2s ease-in-out }
# </style>
# <div id="mojobar-logo">
# <a href="http://mojolicio.us">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png" />
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicio.us/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="http://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="http://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.kraih.com">Blog</a>
# <a href="http://twitter.com/kraih">Twitter</a>
# <form action="http://google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi" />
# <input name="ie" type="hidden" value="UTF-8" />
# <input name="q" placeholder="Search" type="search" />
# </form>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function fixOffset() {
# var offset = $(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).load(function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = start;
# $(window).scroll(function () {
# var st = $(window).scrollTop();
# if (!fixed && st > start) {
# fixed = true;
# mojobar.css('position', 'fixed').css('top', 0);
# } else if (fixed && st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css('position', 'absolute').css('top', start + 'px');
# }
# else if (fixed && (Math.abs(lastScrollTop - st) > 100)) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('top', 0 - (mojobarHeight + 5));
# } else if (st + $(window).height() < $(document).height()) {
# mojobar.css('top', 0);
# }
# lastScrollTop = st;
# }
# });
# });
# $(document).ready(function() {
# $('a[href^="#"]').addClass('mojoscroll');
# $(".mojoscroll").click(function(e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = "#" + this.href.split("#")[1];
# var target = $(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).click(function() {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(document).ready(function() {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">Source file missing at /Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/lib/Mojolicious/Plugin/Thumbnail.pm line 27.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">22</td>
# <td class="value wide">
# <pre class="prettyprint"> $conf = {%{$self->default_args}, %$conf};</pre>
# </td>
# </tr>
# <tr>
# <td class="key">23</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr>
# <td class="key">24</td>
# <td class="value wide">
# <pre class="prettyprint"> my $src_image = Imager->new();</pre>
# </td>
# </tr>
# <tr>
# <td class="key">25</td>
# <td class="value wide">
# <pre class="prettyprint"> my $dst_image;</pre>
# </td>
# </tr>
# <tr>
# <td class="key">26</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">27</td>
# <td class="value wide">
# <pre class="prettyprint"> die 'Source file missing' unless $src_image->open(file => $conf->{src});</pre>
# </td>
# </tr>
# <tr>
# <td class="key">28</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr>
# <td class="key">29</td>
# <td class="value wide">
# <pre class="prettyprint"> my ($src_width, $src_height) = ($src_image->getwidth, $src_image->getheight);</pre>
# </td>
# </tr>
# <tr>
# <td class="key">30</td>
# <td class="value wide">
# <pre class="prettyprint"> my ($dst_width, $dst_height) = (int $conf->{width}, int $conf->{height} );</pre>
# </td>
# </tr>
# <tr>
# <td class="key">31</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr>
# <td class="key">32</td>
# <td class="value wide">
# <pre class="prettyprint"> if (!$dst_height || ($dst_width && $src_width < $src_height)) {</pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/lib/Mojolicious/Plugin/Thumbnail.pm:27</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Controller.pm:37</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/basic.t:13</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:126</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:20</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:23</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:106</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:119</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:42</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:51</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:118</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:127</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:20</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:199</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:199</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:20</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:23</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:133</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server.pm:71</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server/Daemon.pm:83</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Transaction/HTTP.pm:65</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server/Daemon.pm:186</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server/Daemon.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:33</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:33</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/IOLoop/Stream.pm:116</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/IOLoop/Stream.pm:53</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/Poll.pm:115</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/Poll.pm:115</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:52</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:43</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:24</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:24</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/IOLoop.pm:130</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/UserAgent.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Test/Mojo.pm:362</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Test/Mojo.pm:311</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Test/Mojo.pm:248</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/basic.t:36</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>POST</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/make_thumb</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://localhost:56737</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# "height" => 100
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# "cb" => sub { "DUMMY" }
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Connection:</td>
# <td class="striped value wide"><pre>keep-alive</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>10</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Type:</td>
# <td class="striped value wide"><pre>application/x-www-form-urlencoded</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>localhost:56737</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.16.2 (darwin)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>5.24 (Tiger Face)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/t/templates"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# "main"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/t/public"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# "main"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/lib",
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/arch",
# "/Users/dhorner/perl5/lib/perl5/darwin-thread-multi-2level",
# "/Users/dhorner/perl5/lib/perl5/darwin-thread-multi-2level",
# "/Users/dhorner/perl5/lib/perl5",
# "/Users/dhorner/perl5/lib/perl5/darwin-thread-multi-2level",
# "/Users/dhorner/perl5/lib/perl5",
# "/Library/Perl/5.16/darwin-thread-multi-2level",
# "/Library/Perl/5.16",
# "/Network/Library/Perl/5.16/darwin-thread-multi-2level",
# "/Network/Library/Perl/5.16",
# "/Library/Perl/Updates/5.16.2/darwin-thread-multi-2level",
# "/Library/Perl/Updates/5.16.2",
# "/System/Library/Perl/5.16/darwin-thread-multi-2level",
# "/System/Library/Perl/5.16",
# "/System/Library/Perl/Extras/5.16/darwin-thread-multi-2level",
# "/System/Library/Perl/Extras/5.16",
# "."
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/usr/bin/perl</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>34627</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Sat Aug 9 11:12:53 2014</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicio.us">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png" />
# </a> </div>
# </body>
# </html>
# '
# expected: '92x100'
# Failed test '200 OK'
# at t/basic.t line 41.
# got: '500'
# expected: '200'
# Failed test 'exact match for content'
# at t/basic.t line 41.
# got: '<!DOCTYPE html>
# <html>
# <head>
# <title>Server error (development mode)</title>
# <meta http-equiv="Pragma" content="no-cache">
# <meta http-equiv="Expires" content="-1">
# <script src="/mojo/jquery/jquery.js"></script>
# <script src="/mojo/prettify/run_prettify.js"></script>
# <link href="/mojo/prettify/prettify-mojo-dark.css" rel="stylesheet" />
# <style>
# a img { border: 0 }
# body {
# background: url(/mojo/pinstripe-light.png);
# color: #445555;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: normal;
# line-height: 1.5em;
# margin: 0;
# }
# code {
# background-color: #eef9ff;
# border: solid #cce4ff 1px;
# border-radius: 5px;
# color: #333;
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# padding: 0.4em;
# }
# h1 {
# color: #2a2a2a;
# font-size: 1.5em;
# margin: 0;
# }
# pre {
# font: 0.9em Consolas, Menlo, Monaco, Courier, monospace;
# margin: 0;
# white-space: pre-wrap;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# box-shadow: 0px 0px 2px #999;
# overflow: hidden;
# padding: 1em;
# }
# .code {
# background-color: #1a1a1a;
# background: url(/mojo/pinstripe-dark.png);
# color: #eee;
# text-shadow: #333 0 1px 0;
# }
# .important { background-color: rgba(47, 48, 50, .75) }
# .infobox { color: #333 }
# .infobox tr:nth-child(odd) .value { background-color: #ddeeff }
# .infobox tr:nth-child(even) .value { background-color: #eef9ff }
# .key { text-align: right }
# .more table { margin-bottom: 1em }
# .spaced {
# margin-left: 5em;
# margin-right: 5em;
# }
# .striped { border-top: solid #cce4ff 1px }
# .tap {
# font: 0.5em Verdana, sans-serif;
# text-align: center;
# }
# .value { padding-left: 1em }
# .wide { width: 100% }
# #error {
# font: 1.5em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin: 0;
# text-shadow: #333 0 1px 0;
# }
# #footer {
# padding-top: 1em;
# text-align: center;
# }
# #nothing { padding-top: 60px }
# #showcase table { margin-top: 1em }
# #showcase td {
# padding-top: 0;
# padding-bottom: 0;
# }
# #showcase .key { padding-right: 0 }
# #log {
# border-radius: 5px;
# margin-top: 1em;
# }
# #log table { margin: 0 }
# #more, #trace {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# }
# #more .tap, #trace .tap { text-shadow: #ddd 0 1px 0 }
# #request {
# border-top-left-radius: 5px;
# border-top-right-radius: 5px;
# margin-top: 1em;
# }
# #routes {
# border-bottom-left-radius: 5px;
# border-bottom-right-radius: 5px;
# padding-top: 70px;
# }
# #wrapperlicious {
# max-width: 1000px;
# margin: 0 auto;
# }
# </style>
# </head>
# <body>
# <script src="/mojo/jquery/jquery.js"></script>
# <div id="mojobar">
# <style scoped="scoped">
# #mojobar {
# background-color: #1a1a1a;
# background: -webkit-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: -moz-linear-gradient(top, #2a2a2a 0%, #000 100%);
# background: linear-gradient(top, #2a2a2a 0%, #000 100%);
# box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.6);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 3px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #ccc;
# font: 1em 'Helvetica Neue', Helvetica, sans-serif;
# font-weight: 300;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# border: 0;
# border-radius: 10px;
# display: inline;
# margin-left: 1em;
# padding: 3px;
# }
# #mojobar-links input:focus { outline: 0 }
# #mojobar-links form { display: inline }
# .animated { transition: top 0.2s ease-in-out }
# </style>
# <div id="mojobar-logo">
# <a href="http://mojolicio.us">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png" />
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicio.us/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="http://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="http://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.kraih.com">Blog</a>
# <a href="http://twitter.com/kraih">Twitter</a>
# <form action="http://google.com/cse" target="_blank">
# <input name="cx" type="hidden" value="014527573091551588235:pwfplkjpgbi" />
# <input name="ie" type="hidden" value="UTF-8" />
# <input name="q" placeholder="Search" type="search" />
# </form>
# </div>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function fixOffset() {
# var offset = $(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).load(function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = start;
# $(window).scroll(function () {
# var st = $(window).scrollTop();
# if (!fixed && st > start) {
# fixed = true;
# mojobar.css('position', 'fixed').css('top', 0);
# } else if (fixed && st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css('position', 'absolute').css('top', start + 'px');
# }
# else if (fixed && (Math.abs(lastScrollTop - st) > 100)) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('top', 0 - (mojobarHeight + 5));
# } else if (st + $(window).height() < $(document).height()) {
# mojobar.css('top', 0);
# }
# lastScrollTop = st;
# }
# });
# });
# $(document).ready(function() {
# $('a[href^="#"]').addClass('mojoscroll');
# $(".mojoscroll").click(function(e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = "#" + this.href.split("#")[1];
# var target = $(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).click(function() {
# $(drawer).slideToggle('slow');
# var text = $(handle + ' div.tap').text();
# text = text == "tap for more" ? "tap for less" : "tap for more";
# $(handle + ' div.tap').text(text);
# });
# $(drawer).toggle();
# }
# $(document).ready(function() {
# mojoDrawer('#trace', '#frames');
# mojoDrawer('#more', '#infos');
# });
# </script>
# <div id="wrapperlicious">
# <div id="nothing" class="box spaced"></div>
# <div id="showcase" class="box code spaced">
# <pre id="error">Source file missing at /Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/lib/Mojolicious/Plugin/Thumbnail.pm line 27.
# </pre>
# <div id="context" class="more">
# <table>
# <tr>
# <td class="key">22</td>
# <td class="value wide">
# <pre class="prettyprint"> $conf = {%{$self->default_args}, %$conf};</pre>
# </td>
# </tr>
# <tr>
# <td class="key">23</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr>
# <td class="key">24</td>
# <td class="value wide">
# <pre class="prettyprint"> my $src_image = Imager->new();</pre>
# </td>
# </tr>
# <tr>
# <td class="key">25</td>
# <td class="value wide">
# <pre class="prettyprint"> my $dst_image;</pre>
# </td>
# </tr>
# <tr>
# <td class="key">26</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">27</td>
# <td class="value wide">
# <pre class="prettyprint"> die 'Source file missing' unless $src_image->open(file => $conf->{src});</pre>
# </td>
# </tr>
# <tr>
# <td class="key">28</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr>
# <td class="key">29</td>
# <td class="value wide">
# <pre class="prettyprint"> my ($src_width, $src_height) = ($src_image->getwidth, $src_image->getheight);</pre>
# </td>
# </tr>
# <tr>
# <td class="key">30</td>
# <td class="value wide">
# <pre class="prettyprint"> my ($dst_width, $dst_height) = (int $conf->{width}, int $conf->{height} );</pre>
# </td>
# </tr>
# <tr>
# <td class="key">31</td>
# <td class="value wide">
# <pre class="prettyprint"></pre>
# </td>
# </tr>
# <tr>
# <td class="key">32</td>
# <td class="value wide">
# <pre class="prettyprint"> if (!$dst_height || ($dst_width && $src_width < $src_height)) {</pre>
# </td>
# </tr>
# </table>
# </div>
# </div>
# <div id="trace" class="box spaced">
# <div id="frames" class="infobox more">
# <table>
# <tr>
# <td class="striped value wide">
# <pre>/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/lib/Mojolicious/Plugin/Thumbnail.pm:27</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Controller.pm:37</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/basic.t:13</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:126</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:20</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:23</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:106</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:119</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:42</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Routes.pm:51</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:118</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:127</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:20</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:199</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:199</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:20</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious/Plugins.pm:23</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojolicious.pm:133</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server.pm:71</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server/Daemon.pm:83</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Transaction/HTTP.pm:65</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server/Daemon.pm:186</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Server/Daemon.pm:166</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:33</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/EventEmitter.pm:33</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/IOLoop/Stream.pm:116</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/IOLoop/Stream.pm:53</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/Poll.pm:115</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/Poll.pm:115</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:52</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:43</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:24</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/Reactor/EV.pm:24</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/IOLoop.pm:130</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Mojo/UserAgent.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Test/Mojo.pm:362</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Test/Mojo.pm:311</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/Library/Perl/5.16/Test/Mojo.pm:248</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/basic.t:41</pre>
# </td>
# </tr>
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# <div id="request" class="box infobox spaced">
# <table>
# <tr>
# <td class="key">Method:</td>
# <td class="striped value wide"><pre>POST</pre></td>
# </tr>
#
# <tr>
# <td class="key">URL:</td>
# <td class="striped value wide"><pre>/make_thumb</pre></td>
# </tr>
#
# <tr>
# <td class="key">Base URL:</td>
# <td class="striped value wide"><pre>http://localhost:56737</pre></td>
# </tr>
#
# <tr>
# <td class="key">Parameters:</td>
# <td class="striped value wide"><pre>{
# "dst" => "t/dst.jpg",
# "height" => 300,
# "width" => 300
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Stash:</td>
# <td class="striped value wide"><pre>{
# "cb" => sub { "DUMMY" }
# }
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Session:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Version:</td>
# <td class="striped value wide"><pre>1.1</pre></td>
# </tr>
#
# <tr>
# <td class="key">Accept-Encoding:</td>
# <td class="striped value wide"><pre>gzip</pre></td>
# </tr>
#
# <tr>
# <td class="key">Connection:</td>
# <td class="striped value wide"><pre>keep-alive</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Length:</td>
# <td class="striped value wide"><pre>34</pre></td>
# </tr>
#
# <tr>
# <td class="key">Content-Type:</td>
# <td class="striped value wide"><pre>application/x-www-form-urlencoded</pre></td>
# </tr>
#
# <tr>
# <td class="key">Host:</td>
# <td class="striped value wide"><pre>localhost:56737</pre></td>
# </tr>
#
# <tr>
# <td class="key">User-Agent:</td>
# <td class="striped value wide"><pre>Mojolicious (Perl)</pre></td>
# </tr>
#
# </table>
# </div>
# <div id="more" class="box infobox more spaced">
# <div id="infos">
# <table>
# <tr>
# <td class="key">Perl:</td>
# <td class="striped value wide"><pre>v5.16.2 (darwin)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>5.24 (Tiger Face)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/t/templates"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Template classes:</td>
# <td class="striped value wide"><pre>[
# "main"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static paths:</td>
# <td class="striped value wide"><pre>[
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/t/public"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Static classes:</td>
# <td class="striped value wide"><pre>[
# "main"
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Include:</td>
# <td class="striped value wide"><pre>[
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/lib",
# "/Users/dhorner/.cpanm/work/1407596110.3037/Mojolicious-Plugin-Thumbnail-0.01/blib/arch",
# "/Users/dhorner/perl5/lib/perl5/darwin-thread-multi-2level",
# "/Users/dhorner/perl5/lib/perl5/darwin-thread-multi-2level",
# "/Users/dhorner/perl5/lib/perl5",
# "/Users/dhorner/perl5/lib/perl5/darwin-thread-multi-2level",
# "/Users/dhorner/perl5/lib/perl5",
# "/Library/Perl/5.16/darwin-thread-multi-2level",
# "/Library/Perl/5.16",
# "/Network/Library/Perl/5.16/darwin-thread-multi-2level",
# "/Network/Library/Perl/5.16",
# "/Library/Perl/Updates/5.16.2/darwin-thread-multi-2level",
# "/Library/Perl/Updates/5.16.2",
# "/System/Library/Perl/5.16/darwin-thread-multi-2level",
# "/System/Library/Perl/5.16",
# "/System/Library/Perl/Extras/5.16/darwin-thread-multi-2level",
# "/System/Library/Perl/Extras/5.16",
# "."
# ]
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Config:</td>
# <td class="striped value wide"><pre>{}
# </pre></td>
# </tr>
#
# <tr>
# <td class="key">Moniker:</td>
# <td class="striped value wide"><pre>basic</pre></td>
# </tr>
#
# <tr>
# <td class="key">Name:</td>
# <td class="striped value wide"><pre>t/basic.t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Executable:</td>
# <td class="striped value wide"><pre>/usr/bin/perl</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>34627</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Sat Aug 9 11:12:53 2014</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicio.us">
# <img alt="Mojolicious logo" src="/mojo/logo-black.png" />
# </a> </div>
# </body>
# </html>
# '
# expected: '300x300'
# Looks like you failed 8 tests of 12.
t/basic.t ..
Dubious, test returned 8 (wstat 2048, 0x800)
Failed 8/12 subtests
Test Summary Report
-------------------
t/basic.t (Wstat: 2048 Tests: 12 Failed: 8)
Failed tests: 2-3, 5-6, 8-9, 11-12
Non-zero exit status: 8
Files=1, Tests=12, 1 wallclock secs ( 0.04 usr 0.01 sys + 0.67 cusr 0.09 csys = 0.81 CPU)
Result: FAIL
------------------------------
PREREQUISITES
------------------------------
Prerequisite modules loaded:
No requirements found
------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------
Environment variables:
LANG = en_US.UTF-8
PATH = /Users/dhorner/perl5/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
PERL5LIB = /Users/dhorner/perl5/lib/perl5
PERL_LOCAL_LIB_ROOT = /Users/dhorner/perl5
PERL_MB_OPT = --install_base "/Users/dhorner/perl5"
PERL_MM_OPT = INSTALL_BASE=/Users/dhorner/perl5
SHELL = /bin/bash
TERM = xterm-256color
TMPDIR = /var/folders/bt/2bx00b7x0v7cjyfd_b7bpy480000gn/T/
VERSIONER_PERL_PREFER_32_BIT = no
VERSIONER_PERL_VERSION = 5.16
Perl special variables (and OS-specific diagnostics, for MSWin32):
EGID = 20 20 401 12 61 79 80 81 98 33 100 204 398 399
EUID = 501
EXECUTABLE_NAME = /usr/bin/perl
GID = 20 20 401 12 61 79 80 81 98 33 100 204 398 399
UID = 501
Perl module toolchain versions installed:
Module Have
------------------- --------
CPAN 2.05
CPAN::Meta broken
Cwd 3.47
ExtUtils::CBuilder 0.280206
ExtUtils::Command 1.17
ExtUtils::Install 1.58
ExtUtils::MakeMaker 6.98
ExtUtils::Manifest 1.61
ExtUtils::ParseXS 3.24
File::Spec 3.47
JSON 2.90
JSON::PP 2.27203
Module::Build 0.4206
Module::Signature n/a
Parse::CPAN::Meta 1.4405
Test::Harness 3.32
Test::More 1.001003
YAML 0.97
YAML::Syck 1.21
version 0.9908
--
Summary of my perl5 (revision 5 version 16 subversion 2) configuration:
Platform:
osname=darwin, osvers=13.0, archname=darwin-thread-multi-2level
uname='darwin jackson.apple.com 13.0 darwin kernel version 13.0.0: tue jul 30 20:52:22 pdt 2013; root:xnu-2422.1.53~3release_x86_64 x86_64 '
config_args='-ds -e -Dprefix=/usr -Dccflags=-g -pipe -Dldflags= -Dman3ext=3pm -Duseithreads -Duseshrplib -Dinc_version_list=none -Dcc=cc'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-arch x86_64 -arch i386 -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -I/usr/local/include',
optimize='-Os',
cppflags='-g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc -mmacosx-version-min=10.9', ldflags ='-arch x86_64 -arch i386 -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib
libs=
perllibs=
libc=, so=dylib, useshrplib=true, libperl=libperl.dylib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-arch x86_64 -arch i386 -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP PERL_PRESERVE_IVUV USE_64_BIT_ALL
USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
USE_REENTRANT_API
Locally applied patches:
/Library/Perl/Updates/<version> comes before system perl directories
installprivlib and installarchlib points to the Updates directory
CVE-2013-1667 hashtable DOS fix
Built under darwin
Compiled at Aug 25 2013 01:24:40
%ENV:
PERL5LIB="/Users/dhorner/perl5/lib/perl5"
PERL_LOCAL_LIB_ROOT="/Users/dhorner/perl5"
PERL_MB_OPT="--install_base "/Users/dhorner/perl5""
PERL_MM_OPT="INSTALL_BASE=/Users/dhorner/perl5"
@INC:
/Users/dhorner/perl5/lib/perl5/darwin-thread-multi-2level
/Users/dhorner/perl5/lib/perl5
/Library/Perl/5.16/darwin-thread-multi-2level
/Library/Perl/5.16
/Network/Library/Perl/5.16/darwin-thread-multi-2level
/Network/Library/Perl/5.16
/Library/Perl/Updates/5.16.2/darwin-thread-multi-2level
/Library/Perl/Updates/5.16.2
/System/Library/Perl/5.16/darwin-thread-multi-2level
/System/Library/Perl/5.16
/System/Library/Perl/Extras/5.16/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.16
.