aboutsummaryrefslogtreecommitdiff
path: root/src/Blocks.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/Blocks.js')
-rw-r--r--src/Blocks.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/Blocks.js b/src/Blocks.js
index d9020fa..f830538 100644
--- a/src/Blocks.js
+++ b/src/Blocks.js
@@ -18,6 +18,7 @@
18 */ 18 */
19 19
20import React, { Component } from 'react'; 20import React, { Component } from 'react';
21import { CoverageListing } from './CoverageListing.js';
21 22
22function renderRows(renderRowFunc, rows, inline) { 23function renderRows(renderRowFunc, rows, inline) {
23 const renderedRows = rows ? rows.map(renderRowFunc) : (<li>None.</li>); 24 const renderedRows = rows ? rows.map(renderRowFunc) : (<li>None.</li>);
@@ -97,3 +98,38 @@ class MethodsCoverage extends Component {
97 return renderRows(this._renderRow, this.props.methods, false); 98 return renderRows(this._renderRow, this.props.methods, false);
98 } 99 }
99} 100}
101
102export class PackagesSourceCoverage extends Component {
103 _renderRow(row) {
104 return (
105 <li key={row.$.name}>
106 <span>{row.$.name}</span>
107 <SourcesCoverage package={row.$.name}
108 packageSourceFiles={row.sourcefile}
109 sourceSet={this.props.sourceSet} />
110 </li>
111 )
112 }
113
114 render() {
115 return renderRows(row => this._renderRow(row), this.props.packages, false);
116 }
117}
118
119class SourcesCoverage extends Component {
120 _renderRow(row) {
121 const fileName = this.props.package + '/' + row.$.name;
122 return (
123 <li key={fileName}>
124 <span>{fileName}</span>
125 <CoverageListing fileName={fileName}
126 sourceSet={this.props.sourceSet}
127 coverage={row.line} />
128 </li>
129 )
130 }
131
132 render() {
133 return renderRows(row => this._renderRow(row), this.props.packageSourceFiles, false);
134 }
135}