--- /dev/null
+<!doctype html>
+<html lang="en">
+<head>
+ <title>Code coverage report for spec/</title>
+ <meta charset="utf-8">
+
+ <link rel="stylesheet" href="../prettify.css">
+
+ <style>
+ body, html {
+ margin:0; padding: 0;
+ }
+ body {
+ font-family: Helvetica Neue, Helvetica,Arial;
+ font-size: 10pt;
+ }
+ div.header, div.footer {
+ background: #eee;
+ padding: 1em;
+ }
+ div.header {
+ z-index: 100;
+ position: fixed;
+ top: 0;
+ border-bottom: 1px solid #666;
+ width: 100%;
+ }
+ div.footer {
+ border-top: 1px solid #666;
+ }
+ div.body {
+ margin-top: 10em;
+ }
+ div.meta {
+ font-size: 90%;
+ text-align: center;
+ }
+ h1, h2, h3 {
+ font-weight: normal;
+ }
+ h1 {
+ font-size: 12pt;
+ }
+ h2 {
+ font-size: 10pt;
+ }
+ pre {
+ font-family: Consolas, Menlo, Monaco, monospace;
+ margin: 0;
+ padding: 0;
+ line-height: 14px;
+ font-size: 14px;
+ -moz-tab-size: 2;
+ -o-tab-size: 2;
+ tab-size: 2;
+ }
+
+ div.path { font-size: 110%; }
+ div.path a:link, div.path a:visited { color: #000; }
+ table.coverage { border-collapse: collapse; margin:0; padding: 0 }
+
+ table.coverage td {
+ margin: 0;
+ padding: 0;
+ color: #111;
+ vertical-align: top;
+ }
+ table.coverage td.line-count {
+ width: 50px;
+ text-align: right;
+ padding-right: 5px;
+ }
+ table.coverage td.line-coverage {
+ color: #777 !important;
+ text-align: right;
+ border-left: 1px solid #666;
+ border-right: 1px solid #666;
+ }
+
+ table.coverage td.text {
+ }
+
+ table.coverage td span.cline-any {
+ display: inline-block;
+ padding: 0 5px;
+ width: 40px;
+ }
+ table.coverage td span.cline-neutral {
+ background: #eee;
+ }
+ table.coverage td span.cline-yes {
+ background: #b5d592;
+ color: #999;
+ }
+ table.coverage td span.cline-no {
+ background: #fc8c84;
+ }
+
+ .cstat-yes { color: #111; }
+ .cstat-no { background: #fc8c84; color: #111; }
+ .fstat-no { background: #ffc520; color: #111 !important; }
+ .cbranch-no { background: yellow !important; color: #111; }
+
+ .cstat-skip { background: #ddd; color: #111; }
+ .fstat-skip { background: #ddd; color: #111 !important; }
+ .cbranch-skip { background: #ddd !important; color: #111; }
+
+ .missing-if-branch {
+ display: inline-block;
+ margin-right: 10px;
+ position: relative;
+ padding: 0 4px;
+ background: black;
+ color: yellow;
+ }
+
+ .skip-if-branch {
+ display: none;
+ margin-right: 10px;
+ position: relative;
+ padding: 0 4px;
+ background: #ccc;
+ color: white;
+ }
+
+ .missing-if-branch .typ, .skip-if-branch .typ {
+ color: inherit !important;
+ }
+
+ .entity, .metric { font-weight: bold; }
+ .metric { display: inline-block; border: 1px solid #333; padding: 0.3em; background: white; }
+ .metric small { font-size: 80%; font-weight: normal; color: #666; }
+
+ div.coverage-summary table { border-collapse: collapse; margin: 3em; font-size: 110%; }
+ div.coverage-summary td, div.coverage-summary table th { margin: 0; padding: 0.25em 1em; border-top: 1px solid #666; border-bottom: 1px solid #666; }
+ div.coverage-summary th { text-align: left; border: 1px solid #666; background: #eee; font-weight: normal; }
+ div.coverage-summary th.file { border-right: none !important; }
+ div.coverage-summary th.pic { border-left: none !important; text-align: right; }
+ div.coverage-summary th.pct { border-right: none !important; }
+ div.coverage-summary th.abs { border-left: none !important; text-align: right; }
+ div.coverage-summary td.pct { text-align: right; border-left: 1px solid #666; }
+ div.coverage-summary td.abs { text-align: right; font-size: 90%; color: #444; border-right: 1px solid #666; }
+ div.coverage-summary td.file { text-align: right; border-left: 1px solid #666; white-space: nowrap; }
+ div.coverage-summary td.pic { min-width: 120px !important; }
+ div.coverage-summary a:link { text-decoration: none; color: #000; }
+ div.coverage-summary a:visited { text-decoration: none; color: #333; }
+ div.coverage-summary a:hover { text-decoration: underline; }
+ div.coverage-summary tfoot td { border-top: 1px solid #666; }
+
+ div.coverage-summary .yui3-datatable-sort-indicator, div.coverage-summary .dummy-sort-indicator {
+ height: 10px;
+ width: 7px;
+ display: inline-block;
+ margin-left: 0.5em;
+ }
+ div.coverage-summary .yui3-datatable-sort-indicator {
+ background: url("https://yui-s.yahooapis.com/3.6.0/build/datatable-sort/assets/skins/sam/sort-arrow-sprite.png") no-repeat scroll 0 0 transparent;
+ }
+ div.coverage-summary .yui3-datatable-sorted .yui3-datatable-sort-indicator {
+ background-position: 0 -20px;
+ }
+ div.coverage-summary .yui3-datatable-sorted-desc .yui3-datatable-sort-indicator {
+ background-position: 0 -10px;
+ }
+
+ .high { background: #b5d592 !important; }
+ .medium { background: #ffe87c !important; }
+ .low { background: #fc8c84 !important; }
+
+ span.cover-fill, span.cover-empty {
+ display:inline-block;
+ border:1px solid #444;
+ background: white;
+ height: 12px;
+ }
+ span.cover-fill {
+ background: #ccc;
+ border-right: 1px solid #444;
+ }
+ span.cover-empty {
+ background: white;
+ border-left: none;
+ }
+ span.cover-full {
+ border-right: none !important;
+ }
+ pre.prettyprint {
+ border: none !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ }
+ .com { color: #999 !important; }
+ .ignore-none { color: #999; font-weight: normal; }
+
+ </style>
+</head>
+<body>
+<div class="header low">
+ <h1>Code coverage report for <span class="entity">spec/</span></h1>
+ <h2>
+
+ Statements: <span class="metric">24.27% <small>(497 / 2048)</small></span>
+
+
+ Branches: <span class="metric">28.41% <small>(25 / 88)</small></span>
+
+
+ Functions: <span class="metric">11.96% <small>(77 / 644)</small></span>
+
+
+ Lines: <span class="metric">24.69% <small>(497 / 2013)</small></span>
+
+ Ignored: <span class="metric"><span class="ignore-none">none</span></span>
+ </h2>
+ <div class="path"><a href="../index.html">All files</a> » spec/</div>
+</div>
+<div class="body">
+<div class="coverage-summary">
+<table>
+<thead>
+<tr>
+ <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
+ <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
+ <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
+ <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
+ <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
+ <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
+ <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
+ <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
+ <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
+ <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
+</tr>
+</thead>
+<tbody><tr>
+ <td class="file low" data-value="ast.js"><a href="ast.js.html">ast.js</a></td>
+ <td data-value="28.99" class="pic low"><span class="cover-fill" style="width: 28px;"></span><span class="cover-empty" style="width:72px;"></span></td>
+ <td data-value="28.99" class="pct low">28.99%</td>
+ <td data-value="238" class="abs low">(69 / 238)</td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="2" class="abs high">(2 / 2)</td>
+ <td data-value="30.88" class="pct low">30.88%</td>
+ <td data-value="68" class="abs low">(21 / 68)</td>
+ <td data-value="28.99" class="pct low">28.99%</td>
+ <td data-value="238" class="abs low">(69 / 238)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="basic.js"><a href="basic.js.html">basic.js</a></td>
+ <td data-value="29.31" class="pic low"><span class="cover-fill" style="width: 29px;"></span><span class="cover-empty" style="width:71px;"></span></td>
+ <td data-value="29.31" class="pct low">29.31%</td>
+ <td data-value="116" class="abs low">(34 / 116)</td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="0" class="abs high">(0 / 0)</td>
+ <td data-value="2.13" class="pct low">2.13%</td>
+ <td data-value="47" class="abs low">(1 / 47)</td>
+ <td data-value="30.09" class="pct low">30.09%</td>
+ <td data-value="113" class="abs low">(34 / 113)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="blocks.js"><a href="blocks.js.html">blocks.js</a></td>
+ <td data-value="29.69" class="pic low"><span class="cover-fill" style="width: 29px;"></span><span class="cover-empty" style="width:71px;"></span></td>
+ <td data-value="29.69" class="pct low">29.69%</td>
+ <td data-value="64" class="abs low">(19 / 64)</td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="0" class="abs high">(0 / 0)</td>
+ <td data-value="20" class="pct low">20%</td>
+ <td data-value="20" class="abs low">(4 / 20)</td>
+ <td data-value="29.69" class="pct low">29.69%</td>
+ <td data-value="64" class="abs low">(19 / 64)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="builtins.js"><a href="builtins.js.html">builtins.js</a></td>
+ <td data-value="20" class="pic low"><span class="cover-fill" style="width: 20px;"></span><span class="cover-empty" style="width:80px;"></span></td>
+ <td data-value="20" class="pct low">20%</td>
+ <td data-value="135" class="abs low">(27 / 135)</td>
+ <td data-value="0" class="pct low">0%</td>
+ <td data-value="4" class="abs low">(0 / 4)</td>
+ <td data-value="13.89" class="pct low">13.89%</td>
+ <td data-value="36" class="abs low">(5 / 36)</td>
+ <td data-value="20.93" class="pct low">20.93%</td>
+ <td data-value="129" class="abs low">(27 / 129)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="data.js"><a href="data.js.html">data.js</a></td>
+ <td data-value="17.6" class="pic low"><span class="cover-fill" style="width: 17px;"></span><span class="cover-empty" style="width:83px;"></span></td>
+ <td data-value="17.6" class="pct low">17.6%</td>
+ <td data-value="125" class="abs low">(22 / 125)</td>
+ <td data-value="0" class="pct low">0%</td>
+ <td data-value="12" class="abs low">(0 / 12)</td>
+ <td data-value="6.98" class="pct low">6.98%</td>
+ <td data-value="43" class="abs low">(3 / 43)</td>
+ <td data-value="17.6" class="pct low">17.6%</td>
+ <td data-value="125" class="abs low">(22 / 125)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="helpers.js"><a href="helpers.js.html">helpers.js</a></td>
+ <td data-value="19.23" class="pic low"><span class="cover-fill" style="width: 19px;"></span><span class="cover-empty" style="width:81px;"></span></td>
+ <td data-value="19.23" class="pct low">19.23%</td>
+ <td data-value="364" class="abs low">(70 / 364)</td>
+ <td data-value="0" class="pct low">0%</td>
+ <td data-value="26" class="abs low">(0 / 26)</td>
+ <td data-value="7.81" class="pct low">7.81%</td>
+ <td data-value="128" class="abs low">(10 / 128)</td>
+ <td data-value="20.71" class="pct low">20.71%</td>
+ <td data-value="338" class="abs low">(70 / 338)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="javascript-compiler.js"><a href="javascript-compiler.js.html">javascript-compiler.js</a></td>
+ <td data-value="41.3" class="pic low"><span class="cover-fill" style="width: 41px;"></span><span class="cover-empty" style="width:59px;"></span></td>
+ <td data-value="41.3" class="pct low">41.3%</td>
+ <td data-value="46" class="abs low">(19 / 46)</td>
+ <td data-value="50" class="pct medium">50%</td>
+ <td data-value="4" class="abs medium">(2 / 4)</td>
+ <td data-value="21.05" class="pct low">21.05%</td>
+ <td data-value="19" class="abs low">(4 / 19)</td>
+ <td data-value="41.3" class="pct low">41.3%</td>
+ <td data-value="46" class="abs low">(19 / 46)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="parser.js"><a href="parser.js.html">parser.js</a></td>
+ <td data-value="37.5" class="pic low"><span class="cover-fill" style="width: 37px;"></span><span class="cover-empty" style="width:63px;"></span></td>
+ <td data-value="37.5" class="pct low">37.5%</td>
+ <td data-value="104" class="abs low">(39 / 104)</td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="2" class="abs high">(2 / 2)</td>
+ <td data-value="4.44" class="pct low">4.44%</td>
+ <td data-value="45" class="abs low">(2 / 45)</td>
+ <td data-value="37.5" class="pct low">37.5%</td>
+ <td data-value="104" class="abs low">(39 / 104)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="partials.js"><a href="partials.js.html">partials.js</a></td>
+ <td data-value="21.74" class="pic low"><span class="cover-fill" style="width: 21px;"></span><span class="cover-empty" style="width:79px;"></span></td>
+ <td data-value="21.74" class="pct low">21.74%</td>
+ <td data-value="115" class="abs low">(25 / 115)</td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="0" class="abs high">(0 / 0)</td>
+ <td data-value="10.71" class="pct low">10.71%</td>
+ <td data-value="28" class="abs low">(3 / 28)</td>
+ <td data-value="21.74" class="pct low">21.74%</td>
+ <td data-value="115" class="abs low">(25 / 115)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="precompiler.js"><a href="precompiler.js.html">precompiler.js</a></td>
+ <td data-value="42.86" class="pic low"><span class="cover-fill" style="width: 42px;"></span><span class="cover-empty" style="width:58px;"></span></td>
+ <td data-value="42.86" class="pct low">42.86%</td>
+ <td data-value="21" class="abs low">(9 / 21)</td>
+ <td data-value="50" class="pct medium">50%</td>
+ <td data-value="2" class="abs medium">(1 / 2)</td>
+ <td data-value="11.11" class="pct low">11.11%</td>
+ <td data-value="9" class="abs low">(1 / 9)</td>
+ <td data-value="42.86" class="pct low">42.86%</td>
+ <td data-value="21" class="abs low">(9 / 21)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="regressions.js"><a href="regressions.js.html">regressions.js</a></td>
+ <td data-value="27.94" class="pic low"><span class="cover-fill" style="width: 27px;"></span><span class="cover-empty" style="width:73px;"></span></td>
+ <td data-value="27.94" class="pct low">27.94%</td>
+ <td data-value="68" class="abs low">(19 / 68)</td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="2" class="abs high">(2 / 2)</td>
+ <td data-value="4" class="pct low">4%</td>
+ <td data-value="25" class="abs low">(1 / 25)</td>
+ <td data-value="27.94" class="pct low">27.94%</td>
+ <td data-value="68" class="abs low">(19 / 68)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="require.js"><a href="require.js.html">require.js</a></td>
+ <td data-value="28.57" class="pic low"><span class="cover-fill" style="width: 28px;"></span><span class="cover-empty" style="width:72px;"></span></td>
+ <td data-value="28.57" class="pct low">28.57%</td>
+ <td data-value="14" class="abs low">(4 / 14)</td>
+ <td data-value="75" class="pct medium">75%</td>
+ <td data-value="4" class="abs medium">(3 / 4)</td>
+ <td data-value="33.33" class="pct low">33.33%</td>
+ <td data-value="3" class="abs low">(1 / 3)</td>
+ <td data-value="28.57" class="pct low">28.57%</td>
+ <td data-value="14" class="abs low">(4 / 14)</td>
+ </tr>
+
+<tr>
+ <td class="file high" data-value="runtime.js"><a href="runtime.js.html">runtime.js</a></td>
+ <td data-value="100" class="pic high"><span class="cover-fill cover-full" style="width: 100px;"></span><span class="cover-empty" style="width:0px;"></span></td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="3" class="abs high">(3 / 3)</td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="0" class="abs high">(0 / 0)</td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="2" class="abs high">(2 / 2)</td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="3" class="abs high">(3 / 3)</td>
+ </tr>
+
+<tr>
+ <td class="file medium" data-value="spec.js"><a href="spec.js.html">spec.js</a></td>
+ <td data-value="76.19" class="pic medium"><span class="cover-fill" style="width: 76px;"></span><span class="cover-empty" style="width:24px;"></span></td>
+ <td data-value="76.19" class="pct medium">76.19%</td>
+ <td data-value="21" class="abs medium">(16 / 21)</td>
+ <td data-value="73.33" class="pct medium">73.33%</td>
+ <td data-value="15" class="abs medium">(11 / 15)</td>
+ <td data-value="83.33" class="pct high">83.33%</td>
+ <td data-value="6" class="abs high">(5 / 6)</td>
+ <td data-value="76.19" class="pct medium">76.19%</td>
+ <td data-value="21" class="abs medium">(16 / 21)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="string-params.js"><a href="string-params.js.html">string-params.js</a></td>
+ <td data-value="11.9" class="pic low"><span class="cover-fill" style="width: 11px;"></span><span class="cover-empty" style="width:89px;"></span></td>
+ <td data-value="11.9" class="pct low">11.9%</td>
+ <td data-value="84" class="abs low">(10 / 84)</td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="0" class="abs high">(0 / 0)</td>
+ <td data-value="4.35" class="pct low">4.35%</td>
+ <td data-value="23" class="abs low">(1 / 23)</td>
+ <td data-value="11.9" class="pct low">11.9%</td>
+ <td data-value="84" class="abs low">(10 / 84)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="subexpressions.js"><a href="subexpressions.js.html">subexpressions.js</a></td>
+ <td data-value="13.33" class="pic low"><span class="cover-fill" style="width: 13px;"></span><span class="cover-empty" style="width:87px;"></span></td>
+ <td data-value="13.33" class="pct low">13.33%</td>
+ <td data-value="105" class="abs low">(14 / 105)</td>
+ <td data-value="0" class="pct low">0%</td>
+ <td data-value="4" class="abs low">(0 / 4)</td>
+ <td data-value="2.56" class="pct low">2.56%</td>
+ <td data-value="39" class="abs low">(1 / 39)</td>
+ <td data-value="13.33" class="pct low">13.33%</td>
+ <td data-value="105" class="abs low">(14 / 105)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="tokenizer.js"><a href="tokenizer.js.html">tokenizer.js</a></td>
+ <td data-value="20.91" class="pic low"><span class="cover-fill" style="width: 20px;"></span><span class="cover-empty" style="width:80px;"></span></td>
+ <td data-value="20.91" class="pct low">20.91%</td>
+ <td data-value="263" class="abs low">(55 / 263)</td>
+ <td data-value="22.22" class="pct low">22.22%</td>
+ <td data-value="9" class="abs low">(2 / 9)</td>
+ <td data-value="1.89" class="pct low">1.89%</td>
+ <td data-value="53" class="abs low">(1 / 53)</td>
+ <td data-value="20.91" class="pct low">20.91%</td>
+ <td data-value="263" class="abs low">(55 / 263)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="track-ids.js"><a href="track-ids.js.html">track-ids.js</a></td>
+ <td data-value="27.38" class="pic low"><span class="cover-fill" style="width: 27px;"></span><span class="cover-empty" style="width:73px;"></span></td>
+ <td data-value="27.38" class="pct low">27.38%</td>
+ <td data-value="84" class="abs low">(23 / 84)</td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="0" class="abs high">(0 / 0)</td>
+ <td data-value="16.67" class="pct low">16.67%</td>
+ <td data-value="30" class="abs low">(5 / 30)</td>
+ <td data-value="27.38" class="pct low">27.38%</td>
+ <td data-value="84" class="abs low">(23 / 84)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="utils.js"><a href="utils.js.html">utils.js</a></td>
+ <td data-value="32.43" class="pic low"><span class="cover-fill" style="width: 32px;"></span><span class="cover-empty" style="width:68px;"></span></td>
+ <td data-value="32.43" class="pct low">32.43%</td>
+ <td data-value="37" class="abs low">(12 / 37)</td>
+ <td data-value="0" class="pct low">0%</td>
+ <td data-value="2" class="abs low">(0 / 2)</td>
+ <td data-value="33.33" class="pct low">33.33%</td>
+ <td data-value="12" class="abs low">(4 / 12)</td>
+ <td data-value="32.43" class="pct low">32.43%</td>
+ <td data-value="37" class="abs low">(12 / 37)</td>
+ </tr>
+
+<tr>
+ <td class="file low" data-value="whitespace-control.js"><a href="whitespace-control.js.html">whitespace-control.js</a></td>
+ <td data-value="19.51" class="pic low"><span class="cover-fill" style="width: 19px;"></span><span class="cover-empty" style="width:81px;"></span></td>
+ <td data-value="19.51" class="pct low">19.51%</td>
+ <td data-value="41" class="abs low">(8 / 41)</td>
+ <td data-value="100" class="pct high">100%</td>
+ <td data-value="0" class="abs high">(0 / 0)</td>
+ <td data-value="25" class="pct low">25%</td>
+ <td data-value="8" class="abs low">(2 / 8)</td>
+ <td data-value="19.51" class="pct low">19.51%</td>
+ <td data-value="41" class="abs low">(8 / 41)</td>
+ </tr>
+
+</tbody>
+</table>
+</div>
+</div>
+<div class="footer">
+ <div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Wed Aug 13 2014 23:50:21 GMT-0500 (CDT)</div>
+</div>
+
+<script src="../prettify.js"></script>
+
+<script src="https://yui-s.yahooapis.com/3.6.0/build/yui/yui-min.js"></script>
+<script>
+
+ YUI().use('datatable', function (Y) {
+
+ var formatters = {
+ pct: function (o) {
+ o.className += o.record.get('classes')[o.column.key];
+ try {
+ return o.value.toFixed(2) + '%';
+ } catch (ex) { return o.value + '%'; }
+ },
+ html: function (o) {
+ o.className += o.record.get('classes')[o.column.key];
+ return o.record.get(o.column.key + '_html');
+ }
+ },
+ defaultFormatter = function (o) {
+ o.className += o.record.get('classes')[o.column.key];
+ return o.value;
+ };
+
+ function getColumns(theadNode) {
+ var colNodes = theadNode.all('tr th'),
+ cols = [],
+ col;
+ colNodes.each(function (colNode) {
+ col = {
+ key: colNode.getAttribute('data-col'),
+ label: colNode.get('innerHTML') || ' ',
+ sortable: !colNode.getAttribute('data-nosort'),
+ className: colNode.getAttribute('class'),
+ type: colNode.getAttribute('data-type'),
+ allowHTML: colNode.getAttribute('data-html') === 'true' || colNode.getAttribute('data-fmt') === 'html'
+ };
+ col.formatter = formatters[colNode.getAttribute('data-fmt')] || defaultFormatter;
+ cols.push(col);
+ });
+ return cols;
+ }
+
+ function getRowData(trNode, cols) {
+ var tdNodes = trNode.all('td'),
+ i,
+ row = { classes: {} },
+ node,
+ name;
+ for (i = 0; i < cols.length; i += 1) {
+ name = cols[i].key;
+ node = tdNodes.item(i);
+ row[name] = node.getAttribute('data-value') || node.get('innerHTML');
+ row[name + '_html'] = node.get('innerHTML');
+ row.classes[name] = node.getAttribute('class');
+ //Y.log('Name: ' + name + '; Value: ' + row[name]);
+ if (cols[i].type === 'number') { row[name] = row[name] * 1; }
+ }
+ //Y.log(row);
+ return row;
+ }
+
+ function getData(tbodyNode, cols) {
+ var data = [];
+ tbodyNode.all('tr').each(function (trNode) {
+ data.push(getRowData(trNode, cols));
+ });
+ return data;
+ }
+
+ function replaceTable(node) {
+ if (!node) { return; }
+ var cols = getColumns(node.one('thead')),
+ data = getData(node.one('tbody'), cols),
+ table,
+ parent = node.get('parentNode');
+
+ table = new Y.DataTable({
+ columns: cols,
+ data: data,
+ sortBy: 'file'
+ });
+ parent.set('innerHTML', '');
+ table.render(parent);
+ }
+
+ Y.on('domready', function () {
+ replaceTable(Y.one('div.coverage-summary table'));
+ if (typeof prettyPrint === 'function') {
+ prettyPrint();
+ }
+ });
+ });
+</script>
+</body>
+</html>