Back
From: metabase:user:9c36dc84-a30f-11e0-a9fc-0a18abbd4f2f
Subject: FAIL Mojolicious-Plugin-Thumbnail-0.01 v5.20.3 OpenBSD
Date: 2016-11-21T20:23:48Z
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 Andrey Gatitskiy,
This is a computer-generated report for Mojolicious-Plugin-Thumbnail-0.01
on perl 5.20.3, created by CPAN-Reporter-1.2018.
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:
this report is from an automated smoke testing program
and was not reviewed by a human for accuracy
------------------------------
PROGRAM OUTPUT
------------------------------
Output from '/usr/bin/make test':
PERL_DL_NONLAZY=1 "/home/bar/perl5/perlbrew/perls/perl-5.20.3/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.
Wide character in print at /home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test2/Formatter/TAP.pm line 105.
# 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;
# }
# :not(pre) > 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;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# 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 {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #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-bottom: 0;
# 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;
# }
# #trace { border-top: 0 }
# #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 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.kraih.com">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.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>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('âmojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('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();
# }
# $(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 /cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/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><code class="prettyprint"> $conf = {%{$self->default_args}, %$conf};</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">23</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">24</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $src_image = Imager->new();</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">25</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $dst_image;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">26</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">27</td>
# <td class="value wide">
# <pre><code class="prettyprint"> die 'Source file missing' unless $src_image->open(file => $conf->{src});</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">28</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">29</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my ($src_width, $src_height) = ($src_image->getwidth, $src_image->getheight);</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">30</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my ($dst_width, $dst_height) = (int $conf->{width}, int $conf->{height} );</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">31</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">32</td>
# <td class="value wide">
# <pre><code class="prettyprint"> if (!$dst_height || ($dst_width && $src_width < $src_height)) {</code></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>/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/blib/lib/Mojolicious/Plugin/Thumbnail.pm:27</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Controller.pm:33</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/basic.t:13</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:119</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:94</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:35</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:110</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:190</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:190</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:126</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server/Daemon.pm:94</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Transaction/HTTP.pm:61</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server/Daemon.pm:209</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server/Daemon.pm:190</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/IOLoop/Stream.pm:95</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/IOLoop/Stream.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/IOLoop.pm:132</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/UserAgent.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test/Mojo.pm:376</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test/Mojo.pm:323</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test/Mojo.pm:256</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://127.0.0.1:7264</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">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>127.0.0.1:7264</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.20.3 (openbsd)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.10 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/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>[
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/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>[
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/blib/lib",
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/blib/arch",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/OpenBSD.amd64-openbsd",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/5.20.3/OpenBSD.amd64-openbsd",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/5.20.3",
# "."
# ]
# </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>/home/bar/perl5/perlbrew/perls/perl-5.20.3/bin/perl</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>28162</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Mon Nov 21 16:25:14 2016</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <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.
Wide character in print at /home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test2/Formatter/TAP.pm line 105.
# 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;
# }
# :not(pre) > 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;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# 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 {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #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-bottom: 0;
# 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;
# }
# #trace { border-top: 0 }
# #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 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.kraih.com">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.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>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('âmojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('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();
# }
# $(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 /cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/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><code class="prettyprint"> $conf = {%{$self->default_args}, %$conf};</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">23</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">24</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $src_image = Imager->new();</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">25</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $dst_image;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">26</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">27</td>
# <td class="value wide">
# <pre><code class="prettyprint"> die 'Source file missing' unless $src_image->open(file => $conf->{src});</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">28</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">29</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my ($src_width, $src_height) = ($src_image->getwidth, $src_image->getheight);</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">30</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my ($dst_width, $dst_height) = (int $conf->{width}, int $conf->{height} );</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">31</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">32</td>
# <td class="value wide">
# <pre><code class="prettyprint"> if (!$dst_height || ($dst_width && $src_width < $src_height)) {</code></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>/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/blib/lib/Mojolicious/Plugin/Thumbnail.pm:27</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Controller.pm:33</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/basic.t:13</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:119</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:94</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:35</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:110</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:190</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:190</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:126</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server/Daemon.pm:94</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Transaction/HTTP.pm:61</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server/Daemon.pm:209</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server/Daemon.pm:190</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/IOLoop/Stream.pm:95</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/IOLoop/Stream.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/IOLoop.pm:132</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/UserAgent.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test/Mojo.pm:376</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test/Mojo.pm:323</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test/Mojo.pm:256</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://127.0.0.1:7264</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">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>127.0.0.1:7264</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.20.3 (openbsd)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.10 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/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>[
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/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>[
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/blib/lib",
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/blib/arch",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/OpenBSD.amd64-openbsd",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/5.20.3/OpenBSD.amd64-openbsd",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/5.20.3",
# "."
# ]
# </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>/home/bar/perl5/perlbrew/perls/perl-5.20.3/bin/perl</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>28162</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Mon Nov 21 16:25:14 2016</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <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.
Wide character in print at /home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test2/Formatter/TAP.pm line 105.
# 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;
# }
# :not(pre) > 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;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# 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 {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #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-bottom: 0;
# 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;
# }
# #trace { border-top: 0 }
# #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 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.kraih.com">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.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>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('âmojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('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();
# }
# $(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 /cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/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><code class="prettyprint"> $conf = {%{$self->default_args}, %$conf};</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">23</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">24</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $src_image = Imager->new();</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">25</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $dst_image;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">26</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">27</td>
# <td class="value wide">
# <pre><code class="prettyprint"> die 'Source file missing' unless $src_image->open(file => $conf->{src});</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">28</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">29</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my ($src_width, $src_height) = ($src_image->getwidth, $src_image->getheight);</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">30</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my ($dst_width, $dst_height) = (int $conf->{width}, int $conf->{height} );</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">31</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">32</td>
# <td class="value wide">
# <pre><code class="prettyprint"> if (!$dst_height || ($dst_width && $src_width < $src_height)) {</code></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>/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/blib/lib/Mojolicious/Plugin/Thumbnail.pm:27</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Controller.pm:33</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/basic.t:13</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:119</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:94</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:35</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:110</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:190</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:190</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:126</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server/Daemon.pm:94</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Transaction/HTTP.pm:61</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server/Daemon.pm:209</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server/Daemon.pm:190</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/IOLoop/Stream.pm:95</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/IOLoop/Stream.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/IOLoop.pm:132</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/UserAgent.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test/Mojo.pm:376</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test/Mojo.pm:323</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test/Mojo.pm:256</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://127.0.0.1:7264</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">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>127.0.0.1:7264</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.20.3 (openbsd)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.10 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/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>[
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/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>[
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/blib/lib",
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/blib/arch",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/OpenBSD.amd64-openbsd",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/5.20.3/OpenBSD.amd64-openbsd",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/5.20.3",
# "."
# ]
# </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>/home/bar/perl5/perlbrew/perls/perl-5.20.3/bin/perl</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>28162</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Mon Nov 21 16:25:14 2016</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <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.
Wide character in print at /home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test2/Formatter/TAP.pm line 105.
# 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;
# }
# :not(pre) > 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;
# }
# pre > code {
# display: block;
# font: 1.0em Consolas, Menlo, Monaco, Courier, monospace;
# margin-bottom: 0.7em;
# margin-top: 0.7em;
# }
# table {
# border-collapse: collapse;
# width: 100%;
# }
# td { padding: 0.5em }
# .box {
# background-color: #fff;
# border: 1px solid #c1c1c1;
# 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 {
# border-bottom: 0;
# padding-top: 60px;
# }
# #showcase {
# border-bottom: 0;
# border-top: 0;
# }
# #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-bottom: 0;
# 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;
# }
# #trace { border-top: 0 }
# #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 0px rgba(0, 0, 0, 0.5);
# height: 46px;
# overflow: hidden;
# position: absolute;
# text-align: right;
# vertical-align: middle;
# width: 100%;
# z-index: 1000;
# }
# #mojobar-content {
# margin: 0 auto;
# max-width: 1000px;
# }
# #mojobar-logo {
# float: left;
# margin-left: 5em;
# padding-top: 4px;
# }
# #mojobar-links {
# display:table-cell;
# float: right;
# height: 60px;
# margin-right: 5em;
# margin-top: 0.8em;
# }
# #mojobar-links a {
# color: #bbb;
# font: 0.9em 'Helvetica Neue', Helvetica, sans-serif;
# margin-left: 0.5em;
# text-decoration: none;
# transition: all 200ms ease-in-out;
# }
# #mojobar-links a:hover { color: #fff }
# #mojobar-links input {
# background-color: #3a3a3a;
# border: 1px solid rgba(0, 0, 0, 0.1);
# border-radius: 3px;
# color: #eee;
# display: inline;
# margin-left: 1em;
# padding: 4px;
# transition: all 0.15s;
# }
# #mojobar-links input:focus {
# background-color: #fff;
# color: #111;
# outline: 0;
# }
# #mojobar-links form { display: inline }
# .animated { transition: all 0.25s ease }
# </style>
# <div id="mojobar-content">
# <div id="mojobar-logo">
# <a href="http://mojolicious.org">
# <img alt="Mojolicious logo" src="/mojo/logo-white.png">
# </a> </div>
# <div id="mojobar-links">
# <a href="http://mojolicious.org/perldoc">Documentation</a>
# <a href="https://github.com/kraih/mojo/wiki">Wiki</a>
# <a href="https://github.com/kraih/mojo">GitHub</a>
# <a href="https://metacpan.org/release/Mojolicious/">CPAN</a>
# <a href="https://groups.google.com/group/mojolicious">MailingList</a>
# <a href="http://blog.kraih.com">Blog</a>
# <a href="https://twitter.com/kraih">Twitter</a>
# <form action="https://www.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>
# </div>
# <script>
# var mojobar = $('#mojobar');
# var mojobarHeight = mojobar.outerHeight();
# function getElementByHash(hash) {
# return $(hash.replace(/(:|\.|\[|\]|,)/g, '\\$1'));
# }
# function fixOffset() {
# var offset = getElementByHash(window.location.hash).offset();
# if (offset) {
# $('html, body').animate({scrollTop: offset.top - mojobarHeight}, 1);
# }
# }
# $(window).on('load', function () {
# if (window.location.hash) {
# fixOffset();
# }
# var start = mojobar.offset().top;
# var fixed;
# var lastScrollTop = $(window).scrollTop();
# var hidden = mojobarHeight + 1;
# $(window).on('scroll', function () {
# var st = $(window).scrollTop();
# if (fixed) {
# if (st <= start) {
# fixed = false;
# mojobar.removeClass('animated');
# mojobar.css({'position': 'absolute', 'top': start + 'px'});
# }
# else if (Math.abs(lastScrollTop - st) > 100) {
# if (!mojobar.hasClass('animated')) {
# mojobar.addClass('animated');
# }
# if (st > lastScrollTop && st > (mojobarHeight + start + 250)) {
# mojobar.css('transform', 'translateY(-' + hidden + 'px)');
# }
# else if (st < lastScrollTop) {
# mojobar.css('transform', 'translateY(0px)');
# }
# lastScrollTop = st;
# }
# }
# else if (st > start) {
# fixed = true;
# mojobar.css({'position': 'fixed', 'top': 0});
# lastScrollTop = $(window).scrollTop();
# }
# });
# });
# $(function () {
# $('a[href^="#"]').addClass('âmojoscroll').on('click', function (e) {
# e.preventDefault();
# e.stopPropagation();
# var hash = '#' + this.href.split('#')[1];
# var target = getElementByHash(hash);
# var old = target.attr('id');
# target.attr('id', '');
# location.hash = hash;
# target.attr('id', old);
# fixOffset();
# });
# });
# </script>
#
# <script>
# function mojoDrawer (handle, drawer) {
# $(handle).on('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();
# }
# $(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 /cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/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><code class="prettyprint"> $conf = {%{$self->default_args}, %$conf};</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">23</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">24</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $src_image = Imager->new();</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">25</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my $dst_image;</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">26</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr class="important">
# <td class="key">27</td>
# <td class="value wide">
# <pre><code class="prettyprint"> die 'Source file missing' unless $src_image->open(file => $conf->{src});</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">28</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">29</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my ($src_width, $src_height) = ($src_image->getwidth, $src_image->getheight);</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">30</td>
# <td class="value wide">
# <pre><code class="prettyprint"> my ($dst_width, $dst_height) = (int $conf->{width}, int $conf->{height} );</code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">31</td>
# <td class="value wide">
# <pre><code class="prettyprint"></code></pre>
# </td>
# </tr>
# <tr>
# <td class="key">32</td>
# <td class="value wide">
# <pre><code class="prettyprint"> if (!$dst_height || ($dst_width && $src_width < $src_height)) {</code></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>/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/blib/lib/Mojolicious/Plugin/Thumbnail.pm:27</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Controller.pm:33</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>t/basic.t:13</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:119</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:87</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:94</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:35</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Routes.pm:44</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:110</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:120</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:190</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:190</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious/Plugins.pm:18</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojolicious.pm:126</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server.pm:68</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server/Daemon.pm:94</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Transaction/HTTP.pm:61</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server/Daemon.pm:209</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Server/Daemon.pm:190</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/EventEmitter.pm:15</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/IOLoop/Stream.pm:95</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/IOLoop/Stream.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/Poll.pm:143</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/EV.pm:46</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/Reactor/EV.pm:25</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/IOLoop.pm:132</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Mojo/UserAgent.pm:60</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test/Mojo.pm:376</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test/Mojo.pm:323</pre>
# </td>
# </tr>
# <tr>
# <td class="striped value wide">
# <pre>/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/Test/Mojo.pm:256</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://127.0.0.1:7264</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">Content-Length:</td>
# <td class="striped value wide"><pre>36</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>127.0.0.1:7264</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.20.3 (openbsd)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Mojolicious:</td>
# <td class="striped value wide"><pre>7.10 (Doughnut)</pre></td>
# </tr>
#
# <tr>
# <td class="key">Home:</td>
# <td class="striped value wide"><pre>/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/t</pre></td>
# </tr>
#
# <tr>
# <td class="key">Template paths:</td>
# <td class="striped value wide"><pre>[
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/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>[
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/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>[
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/blib/lib",
# "/cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0/blib/arch",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/OpenBSD.amd64-openbsd",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/5.20.3/OpenBSD.amd64-openbsd",
# "/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/5.20.3",
# "."
# ]
# </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>/home/bar/perl5/perlbrew/perls/perl-5.20.3/bin/perl</pre></td>
# </tr>
#
# <tr>
# <td class="key">PID:</td>
# <td class="striped value wide"><pre>28162</pre></td>
# </tr>
#
# <tr>
# <td class="key">Time:</td>
# <td class="striped value wide"><pre>Mon Nov 21 16:25:14 2016</pre></td>
# </tr>
#
# </table>
# </div>
# <div class="tap">tap for more</div>
# </div>
# </div>
# <div id="footer">
# <a href="http://mojolicious.org">
# <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, 2 wallclock secs ( 0.03 usr 0.22 sys + 0.41 cusr 0.76 csys = 1.42 CPU)
Result: FAIL
Failed 1/1 test programs. 8/12 subtests failed.
*** Error 8 in /cpan_build/bar/Mojolicious-Plugin-Thumbnail-0.01-0 (Makefile:842 'test_dynamic')
------------------------------
PREREQUISITES
------------------------------
Prerequisite modules loaded:
requires:
Module Need Have
------------------- ---- -----
Imager 0 1.005
Mojolicious 0 7.10
build_requires:
Module Need Have
------------------- ---- -----
ExtUtils::MakeMaker 0 7.24
configure_requires:
Module Need Have
------------------- ---- -----
ExtUtils::MakeMaker 0 7.24
------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------
Environment variables:
AUTOMATED_TESTING = 1
PATH = /home/bar/bin:/home/bar/perl5/perlbrew/bin:/home/bar/perl5/perlbrew/perls/perl-5.20.3/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
PERL5LIB =
PERL5OPT =
PERL5_CPANPLUS_IS_RUNNING = 5066
PERL5_CPAN_IS_RUNNING = 5066
PERL5_CPAN_IS_RUNNING_IN_RECURSION = 365,5066
PERLBREW_BASHRC_VERSION = 0.76
PERLBREW_HOME = /home/bar/.perlbrew
PERLBREW_MANPATH = /home/bar/perl5/perlbrew/perls/perl-5.20.3/man
PERLBREW_PATH = /home/bar/perl5/perlbrew/bin:/home/bar/perl5/perlbrew/perls/perl-5.20.3/bin
PERLBREW_PERL = perl-5.20.3
PERLBREW_ROOT = /home/bar/perl5/perlbrew
PERLBREW_VERSION = 0.76
PERL_CR_SMOKER_CURRENT = Task-MojoliciousPlugins-PerlAcademy-0.02
PERL_EXTUTILS_AUTOINSTALL = --defaultdeps
PERL_MM_USE_DEFAULT = 1
SHELL = /usr/local/bin/bash
TERM = vt220
Perl special variables (and OS-specific diagnostics, for MSWin32):
$^X = /home/bar/perl5/perlbrew/perls/perl-5.20.3/bin/perl
$UID/$EUID = 1002 / 1002
$GID = 1002 1002
$EGID = 1002 1002
Perl module toolchain versions installed:
Module Have
------------------- --------
CPAN 2.14
CPAN::Meta 2.150010
Cwd 3.62
ExtUtils::CBuilder 0.280224
ExtUtils::Command 7.24
ExtUtils::Install 1.67
ExtUtils::MakeMaker 7.24
ExtUtils::Manifest 1.70
ExtUtils::ParseXS 3.30
File::Spec 3.62
JSON 2.90
JSON::PP 2.27400
Module::Build 0.4220
Module::Signature n/a
Parse::CPAN::Meta 2.150010
Test::Harness 3.36
Test::More 1.302062
YAML 1.19
YAML::Syck 1.29
version 0.9912
--
Summary of my perl5 (revision 5 version 20 subversion 3) configuration:
Platform:
osname=openbsd, osvers=5.9, archname=OpenBSD.amd64-openbsd
uname='openbsd baiacu.spo.virtua.com.br 5.9 generic.mp#1888 amd64 '
config_args='-de -Dprefix=/home/bar/perl5/perlbrew/perls/perl-5.20.3 -Aeval:scriptdir=/home/bar/perl5/perlbrew/perls/perl-5.20.3/bin'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include',
optimize='-O2',
cppflags='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.2.1 20070719 ', gccosandvers='openbsd5.9'
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', ldflags ='-Wl,-E -fstack-protector -L/usr/local/lib'
libpth=/usr/lib /usr/local/lib
libs=-lpthread -lm -lutil -lc
perllibs=-lpthread -lm -lutil -lc
libc=/usr/lib/libc.so.84.2, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
cccdlflags='-DPIC -fPIC ', lddlflags='-shared -fPIC -L/usr/local/lib -fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES
USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
Locally applied patches:
Devel::PatchPerl 1.38
Built under openbsd
Compiled at Sep 12 2016 22:30:16
%ENV:
PERL5LIB=""
PERL5OPT=""
PERL5_CPANPLUS_IS_RUNNING="5066"
PERL5_CPAN_IS_RUNNING="5066"
PERL5_CPAN_IS_RUNNING_IN_RECURSION="365,5066"
PERLBREW_BASHRC_VERSION="0.76"
PERLBREW_HOME="/home/bar/.perlbrew"
PERLBREW_MANPATH="/home/bar/perl5/perlbrew/perls/perl-5.20.3/man"
PERLBREW_PATH="/home/bar/perl5/perlbrew/bin:/home/bar/perl5/perlbrew/perls/perl-5.20.3/bin"
PERLBREW_PERL="perl-5.20.3"
PERLBREW_ROOT="/home/bar/perl5/perlbrew"
PERLBREW_VERSION="0.76"
PERL_CR_SMOKER_CURRENT="Task-MojoliciousPlugins-PerlAcademy-0.02"
PERL_EXTUTILS_AUTOINSTALL="--defaultdeps"
PERL_MM_USE_DEFAULT="1"
@INC:
/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3/OpenBSD.amd64-openbsd
/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/site_perl/5.20.3
/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/5.20.3/OpenBSD.amd64-openbsd
/home/bar/perl5/perlbrew/perls/perl-5.20.3/lib/5.20.3
.