The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
slurping css files inline
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test Report</title>
<link rel="stylesheet" type="text/css" href="file:/home/plusw/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/TAP/Formatter/HTML/default_page.css" /><link rel="stylesheet" type="text/css" href="file:/home/plusw/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/TAP/Formatter/HTML/default_report.css" />
<script type="text/javascript" src="file:/home/plusw/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/TAP/Formatter/HTML/jquery-1.4.2.min.js"></script><script type="text/javascript" src="file:/home/plusw/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/TAP/Formatter/HTML/jquery.tablesorter-2.0.3.min.js"></script><script type="text/javascript" src="file:/home/plusw/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/TAP/Formatter/HTML/default_report.js"></script>
<style type="text/css">
/******************************************************************************
 * TAP-Formatter-HTML: default stylesheet for report page layout
 * Separated from default_report.css by request so users only need to override
 * and maintain one css file.
 * Copyright (c) 2008-2010 Steve Purkis.  All rights reserved.
 * Released under the same terms as Perl itself.
 *****************************************************************************/

html {
width: 100%;
height: 100%;
}

body {
font-family: Helvetica, Verdana, Arial, Tahoma;
font-size: small;
background-color: #efefef;
}



/******************************************************************************
 * TAP-Formatter-HTML: default stylesheet for report body
 * Copyright (c) 2008-2010 Steve Purkis.  All rights reserved.
 * Released under the same terms as Perl itself.
 *****************************************************************************/

/******************************************************************************
/* The menu bar
 */
#menu {
display: none; /* hidden by default */
position: absolute;
left: 8px;
top: 8px;
padding: 2px;
font-size: small;
background-color: #eeffcc;
opacity: 0.5;
}

#menu ul {
        margin: 0px;
        padding: 5px;
}

#menu li {
text-decoration: none;
list-style: none;
display: block;
}


/******************************************************************************
/* The summary bar
 */
#summary {
position: relative;
padding: 2px 0 2 0;
width: 100%;
font-size: x-large;
text-align: center;
}

#summary.passed {
background-color: #99ff66;
border: 1px solid #00ff00;
}

#summary.failed {
background-color: #ff6450;
border: 1px solid #ff0000;
}

#summary a {
width: 100%;
display: block;
margin: 0;
padding: 0;
text-decoration: none;
color: #000000;
}

#summary a:hover {
text-decoration: none;
color: #6666aa;
}


/******************************************************************************
 * The report detail section
 */
#detail {
margin-top: 5px;
width: 100%;
}

table.detail {
width: 100%;
border: 1px solid #3333ee;
padding: 2px;
border-spacing: 0px;
}

table.detail th {
border-bottom: 2px solid #3333ee;
padding-top: 2px;
}

table.detail tfoot tr td {
border-top: 2px solid #3333ee;
padding-top: 2px;
}

table.detail td {
position: relative;
top: 0px;
left: 0px;
border-top: 1px solid #aaaaaa;
margin: 0;
padding: 2px 0 2 0;
vertical-align: top;
}

table.detail td.file {
font-size: small;
}

/*
table.detail tr.failed td.file {
background-color: #FF6450;
}
*/

/******************************************************************************
 * Test detail: sortable column headers (requires jquery.tablesort plugin)
 */
th.header { 
}

th.header:after {
    font-size: 0.6em;
    content: " ^v";
}

th.headerSortUp { 
    background-color: #ffffcc;
}

th.headerSortUp:after {
    font-size: 0.6em;
    content: " /\\";
}

th.headerSortDown { 
    background-color: #ffffcc;
}

th.headerSortDown:after { 
    font-size: 0.6em;
    content: " \\/";
}

/******************************************************************************
 * The file column
 */
table.detail td.file {
width: 10%;
padding-left: 2px;
padding-right: 4px;
}

a.file {
display: block;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
text-decoration: none;
color: #3333cc;
}

a.file:hover {
text-decoration: none;
color: #6666ee;
}

a.file:visited {
text-decoration: none;
color: #3333cc;
}

div.back-up {
    position: relative;
    text-align: center;
    border: 1px solid grey;
    width: 100%;
}

/******************************************************************************
 * The time column
 */
table.detail td.time {
width: 2%;
border-left: 1px solid #ddddff;
text-align: center;
font-size: small;
}

/******************************************************************************
 * The percentage column
 */
table.detail td.percent {
padding-left: 2px;
padding-right: 2px;
width: 2%;
text-align: center;
font-size: small;
vertical-align: middle;
}

/******************************************************************************
 * Colouring the file + percentage columns
 */
table.detail tr.percent td.c {
padding-left: 2px;
padding-right: 2px;
width: 2%;
text-align: center;
font-size: small;
vertical-align: middle;
}

table.detail tr.passed td.c {
border: 1px solid #99cc99;
}

table.detail tr.passed td.cb {
background-color: #99ff66;
}

table.detail tr.todo-passed td.c {
border: 1px solid #99cc99;
}

table.detail tr.todo-passed td.cb {
background-color: #ddffbb;
}

table.detail tr.severity-very-low td.c {
border: 1px solid #ffee33;
background-color: #ffffaa;
}

table.detail tr.severity-low td.c {
border: 1px solid #eecc33;
background-color: #ffdd99;
}

table.detail tr.severity-med td.c {
border: 1px solid #dd6633;
background-color: #ffaa77;
}

table.detail tr.severity-high td.c {
border: 1px solid #ff3333;
background-color: #ff8866;
}

table.detail tr.severity-very-high td.c {
border: 1px solid #ff0000;
background-color: #ff6450;
}

/******************************************************************************
 * The test run column
 */

/******************************************************************************
 * Test summaries (.TS)
 */

table.TS {
clear: both;
width: 100%;
height: 10px;
font-size: 8px; /* safari wants this less than 10px */
margin: 0px;
margin-bottom: 4px;
padding: 0;
border-spacing: 1px;
}

table.TS td {
margin: 0;
padding: 0;
height: 10px;
}

table.TS td a {
display: block;
margin: 0;
padding: 0;
text-decoration: none;
width: 100%;
height: 100%;
}

/* base for passed/failed (should always be lower precedent in class list!) */
table.TS td.p { /* p=passed */
border: 1px solid #66cc33;
background-color: #99ff66;
}

table.TS td.f { /* f=failed */
border: 1px solid #ff0000;
background-color: #ff6450;
}

/* overrides for specific outcomes */
table.TS td.k { /* k=ok */
border: 1px solid #66cc33;
}

table.TS td.n { /* n=not-ok */
border: 1px solid #ff0000;
}

table.TS td.u { /* u=todo-ok = 'unexpected' ok */
border: 1px solid #eeaa00;
background-color: #ffcc00;
}

table.TS td.t { /* t=todo-not-ok */
border: 1px solid #99cc99;
background-color: #ddffbb;
}

table.TS td.s { /* s=skip-ok */
border: 1px solid #99d999;
background-color: #99cc66;
}

/******************************************************************************
 * Test detail
 */
div.test-detail {
margin: 0;
padding: 0;
/*	display: none; /* let JS handle this... */
}

/******************************************************************************
 * Test parse errors
 */
ul.parse-errors {
margin: 0;
padding: 0;
clear: left;
}

ul.parse-errors li {
margin-left: 4px;
list-style: none;
color: red;
}

/******************************************************************************
 * Test output
 */
ul.test-out {
margin: 0;
padding: 0;
clear: left;
}

ul.test-out li {
margin-left: 4;
border-left: none;
list-style: none;
}

ul.test-out li.k { /* k=ok */
;
}

ul.test-out li.n { /* n=not-ok */
color: #ff0000;
}

ul.test-out li.u { /* u=todo-ok = 'unexpected' ok */
color: #cc3333;
}

ul.test-out li.t { /* t=todo-not-ok */
color: #773322;
}

ul.test-out li.s { /* s=skip-ok */
color: #001111;
}

ul.test-out li.tst {
;
}

ul.test-out li.cmt {
color: #666666;
font-family: monospace;
}

ul.test-out li.pln {
color: blue;
}

ul.test-out li.unp { /* unp=unplanned */
color: #ff0000;
}

ul.test-out li.unk { /* unk=unknown */
color: #996600;
font-family: monospace;
}

ul.test-out li.stat { /* stat=exit-status */
color: #ff0000;
}

ul.test-out li.yml { /* yml=yaml */
white-space: pre;
}



</style>
</head>
<body>
<div id="summary" class="passed">
<a href="#" title="Test Summary (100.0% ok)
passed 33/33 tests in 4 files
total time: 0.01s
0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)">PASSED</a>
</div>

<div id="menu">
          <ul>
<li>
<span id="show-all"><a href="#" title="show all tests">show all</a></span>
    <span id="show-failed"><a href="#" title="show failed tests only">show failed</a></span>
</li>
          </ul>
</div>

<div id="detail">
<table class="detail">
<thead>
<tr>
<th class="file">Test file</th>
<th class="results">Test results</th>
<th class="time">Time</th>
<th class="percent">%</th>
</tr>
</thead>
<tfoot>
<tr>
<td class="file">4 files</td>
<td class="results">
33 tests,
33 ok,
0 failed,
0 todo,
0 skipped,
0 parse errors<br/>
exit status: 0,
wait status: 0<br/>
elapsed time: 0 wallclock secs ( 0.00 usr +  0.00 sys =  0.00 CPU)</td>
<td class="time">0.01s</td>
<td class="percent ">100.0%</td>
</tr>
</tfoot>
<tbody>
<tr class="test-run passed" id="t-00-load-t">
<td class="file c">
<a class="file" href="#" title="Test ok.
  2 planned, 2 run
  2 ok, 0 failed
  0 todo, 0 skipped
exit status: 0
wait status: 0">t/00_load.t</a>
</td>
<td class="results">
<table class="TS">
<tr>

<td class="k p"><a class="TS" href="#t0"> </a></td>
<td class="k p"><a class="TS" href="#t1"> </a></td>
</tr>
</table>
<div class="test-detail">
<ul class="test-out">
<li class="pln">1..2&nbsp;</li>
<li id="t0" class="tst k">ok 1 - use VM::JiffyBox;&nbsp;</li>
<li id="t1" class="tst k">ok 2 - use VM::JiffyBox::Box;&nbsp;</li>
</ul>
</div>
</td>
<td class="time">0.00s</td>
<td class="percent c cb">100.0%</td>
</tr>
<tr class="test-run passed" id="t-01-create-t">
<td class="file c">
<a class="file" href="#" title="Test ok.
  8 planned, 8 run
  8 ok, 0 failed
  0 todo, 0 skipped
exit status: 0
wait status: 0">t/01_create.t</a>
</td>
<td class="results">
<table class="TS">
<tr>

<td class="k p"><a class="TS" href="#t2"> </a></td>
<td class="k p"><a class="TS" href="#t3"> </a></td>
<td class="k p"><a class="TS" href="#t4"> </a></td>
<td class="k p"><a class="TS" href="#t5"> </a></td>
<td class="k p"><a class="TS" href="#t6"> </a></td>
<td class="k p"><a class="TS" href="#t7"> </a></td>
<td class="k p"><a class="TS" href="#t8"> </a></td>
<td class="k p"><a class="TS" href="#t9"> </a></td>
</tr>
</table>
<div class="test-detail">
<ul class="test-out">
<li class="pln">1..8&nbsp;</li>
<li id="t2" class="tst k">ok 1 - VM::JiffyBox-&gt;can('new')&nbsp;</li>
<li id="t3" class="tst k">ok 2 - Die if no token&nbsp;</li>
<li id="t4" class="tst k">ok 3 - The object isa VM::JiffyBox&nbsp;</li>
<li id="t5" class="tst k">ok 4 - Check Token&nbsp;</li>
<li id="t6" class="tst k">ok 5 - VM::JiffyBox-&gt;can('get_vm')&nbsp;</li>
<li id="t7" class="tst k">ok 6 - Die if no ID&nbsp;</li>
<li id="t8" class="tst k">ok 7 - Check ID&nbsp;</li>
<li id="t9" class="tst k">ok 8 - Check Token @ Box&nbsp;</li>
</ul>
</div>
</td>
<td class="time">0.00s</td>
<td class="percent c cb">100.0%</td>
</tr>
<tr class="test-run passed" id="t-03-need-to-die-t">
<td class="file c">
<a class="file" href="#" title="Test ok.
  8 planned, 8 run
  8 ok, 0 failed
  0 todo, 0 skipped
exit status: 0
wait status: 0">t/03_need_to_die.t</a>
</td>
<td class="results">
<table class="TS">
<tr>

<td class="k p"><a class="TS" href="#t10"> </a></td>
<td class="k p"><a class="TS" href="#t11"> </a></td>
<td class="k p"><a class="TS" href="#t12"> </a></td>
<td class="k p"><a class="TS" href="#t13"> </a></td>
<td class="k p"><a class="TS" href="#t14"> </a></td>
<td class="k p"><a class="TS" href="#t15"> </a></td>
<td class="k p"><a class="TS" href="#t16"> </a></td>
<td class="k p"><a class="TS" href="#t17"> </a></td>
</tr>
</table>
<div class="test-detail">
<ul class="test-out">
<li class="pln">1..8&nbsp;</li>
<li id="t10" class="tst k">ok 1 - VM::JiffyBox-&gt;can('create_vm')&nbsp;</li>
<li id="t11" class="tst k">ok 2 - die if no args&nbsp;</li>
<li id="t12" class="tst k">ok 3 - die if no image&nbsp;</li>
<li id="t13" class="tst k">ok 4 - die if no planid&nbsp;</li>
<li id="t14" class="tst k">ok 5 - die if no name&nbsp;</li>
<li id="t15" class="tst k">ok 6 - die if 2 images&nbsp;</li>
<li id="t16" class="tst k">ok 7 - live 1&nbsp;</li>
<li id="t17" class="tst k">ok 8 - live 2&nbsp;</li>
</ul>
</div>
</td>
<td class="time">0.00s</td>
<td class="percent c cb">100.0%</td>
</tr>
<tr class="test-run passed" id="t-05-box-requests-t">
<td class="file c">
<a class="file" href="#" title="Test ok.
  15 planned, 15 run
  15 ok, 0 failed
  0 todo, 0 skipped
exit status: 0
wait status: 0">t/05_box-requests.t</a>
</td>
<td class="results">
<table class="TS">
<tr>

<td class="k p"><a class="TS" href="#t18"> </a></td>
<td class="k p"><a class="TS" href="#t19"> </a></td>
<td class="k p"><a class="TS" href="#t20"> </a></td>
<td class="k p"><a class="TS" href="#t21"> </a></td>
<td class="k p"><a class="TS" href="#t22"> </a></td>
<td class="k p"><a class="TS" href="#t23"> </a></td>
<td class="k p"><a class="TS" href="#t24"> </a></td>
<td class="k p"><a class="TS" href="#t25"> </a></td>
<td class="k p"><a class="TS" href="#t26"> </a></td>
<td class="k p"><a class="TS" href="#t27"> </a></td>
<td class="k p"><a class="TS" href="#t28"> </a></td>
<td class="k p"><a class="TS" href="#t29"> </a></td>
<td class="k p"><a class="TS" href="#t30"> </a></td>
<td class="k p"><a class="TS" href="#t31"> </a></td>
<td class="k p"><a class="TS" href="#t32"> </a></td>
</tr>
</table>
<div class="test-detail">
<ul class="test-out">
<li id="t18" class="tst k">ok 1 - false URL for get_details (non-historic)&nbsp;</li>
<li id="t19" class="tst k">ok 2 - URL for get_details (non-historic)&nbsp;</li>
<li id="t20" class="tst k">ok 3 - URL for stop (non-historic)&nbsp;</li>
<li id="t21" class="tst k">ok 4 - JSON for stop (non-historic)&nbsp;</li>
<li id="t22" class="tst k">ok 5 - URL for delete (non-historic)&nbsp;</li>
<li id="t23" class="tst k">ok 6 - URL for get_backups (non-historic)&nbsp;</li>
<li id="t24" class="tst k">ok 7 - URL for start (non-historic)&nbsp;</li>
<li id="t25" class="tst k">ok 8 - JSON for start (non-historic)&nbsp;</li>
<li id="t26" class="tst k">ok 9 - URL for get_details (historic)&nbsp;</li>
<li id="t27" class="tst k">ok 10 - URL for stop (historic)&nbsp;</li>
<li id="t28" class="tst k">ok 11 - JSON for stop (historic)&nbsp;</li>
<li id="t29" class="tst k">ok 12 - URL for delete (historic)&nbsp;</li>
<li id="t30" class="tst k">ok 13 - URL for get_backups (historic)&nbsp;</li>
<li id="t31" class="tst k">ok 14 - URL for start (historic)&nbsp;</li>
<li id="t32" class="tst k">ok 15 - JSON for start (historic)&nbsp;</li>
<li class="pln">1..15&nbsp;</li>
</ul>
</div>
</td>
<td class="time">0.01s</td>
<td class="percent c cb">100.0%</td>
</tr>
</tbody>
</table>
</div>

<div id="footer">Generated by TAP::Formatter::HTML v0.11 @ 16:17:26 05-Jul-2013</div>

</body>
</html>
TAP::Formatter::HTML=HASH(0x1800ab8)