@@ -7,10 +7,7 @@ const cacheQuery = require("../shared/cache-query");
7
7
const decompress = require ( "../shared/entries-utils" ) . decompress ;
8
8
const makeTableData = require ( "../cli/show-captures/show-captures" ) . makeTableData ;
9
9
10
- const resultsPath = "./results/" ;
11
- const filename = path . resolve ( __dirname , "index.html" ) ;
12
-
13
- function loadResults ( ) {
10
+ function loadResults ( resultsPath ) {
14
11
return fsp . readdir ( resultsPath )
15
12
. then ( files => {
16
13
// full paths
@@ -25,19 +22,27 @@ function resultsToTemplateData(results) {
25
22
r . isCached = null ;
26
23
if ( r . entries ) {
27
24
r . entries = decompress ( r . entries ) ;
28
- r . entries . forEach ( e => e . isCached = cacheQuery . isEntryCached ( e ) ) ;
25
+ r . entries . forEach ( e => {
26
+ e . isCached = cacheQuery . isEntryCached ( e ) ;
27
+ } ) ;
29
28
r . isCached = cacheQuery . areEntriesCached ( r . entries ) ;
30
29
}
31
30
const ua = useragent . parse ( r . userAgent ) ;
32
- r . name = ua . browser + " " + ua . version + " " + ua . os + " / " + r . tag ;
31
+ r . browser = ua . browser + " " + ua . version + " " + ua . os ;
32
+ r . name = r . browser + " / " + r . tag ;
33
33
return r ;
34
34
} ) ;
35
35
}
36
36
37
- function generate ( templateStr , results ) {
37
+ function generateFromTemplateAndResults ( templateStr , results ) {
38
38
let tableData = null ;
39
39
results = resultsToTemplateData ( results ) ;
40
40
41
+ const browsersTested = Object . keys ( results . reduce ( ( ob , r ) => {
42
+ ob [ r . browser ] = 1 ;
43
+ return ob ;
44
+ } , { } ) ) ;
45
+
41
46
const configurations = [
42
47
{
43
48
title : "Default options" ,
@@ -78,7 +83,9 @@ function generate(templateStr, results) {
78
83
results . forEach ( r => {
79
84
r . isCached = null ;
80
85
if ( r . entries ) {
81
- r . entries . forEach ( e => e . isCached = cacheQuery . isEntryCached ( e , opts ) ) ;
86
+ r . entries . forEach ( e => {
87
+ e . isCached = cacheQuery . isEntryCached ( e , opts ) ;
88
+ } ) ;
82
89
r . isCached = cacheQuery . areEntriesCached ( r . entries , opts ) ;
83
90
}
84
91
return r ;
@@ -87,6 +94,7 @@ function generate(templateStr, results) {
87
94
}
88
95
89
96
const data = {
97
+ browsersTested,
90
98
configurations,
91
99
funcs : {
92
100
getResults,
@@ -105,12 +113,16 @@ function generate(templateStr, results) {
105
113
compileDebug : true
106
114
} ;
107
115
const html = ejs . render ( String ( templateStr ) , data , renderOpts ) ;
108
- console . log ( html ) ;
116
+ return html ;
109
117
}
110
118
111
- Promise . all ( [ fsp . readFile ( filename ) , loadResults ( ) ] )
112
- . then ( things => {
113
- const templateStr = things [ 0 ] ;
114
- const results = things [ 1 ] ;
115
- generate ( templateStr , results ) ;
116
- } ) ;
119
+ function generate ( filename , resultsPath ) {
120
+ return Promise . all ( [ fsp . readFile ( filename ) , loadResults ( resultsPath ) ] )
121
+ . then ( things => {
122
+ const templateStr = things [ 0 ] ;
123
+ const results = things [ 1 ] ;
124
+ return generateFromTemplateAndResults ( templateStr , results ) ;
125
+ } ) ;
126
+ }
127
+
128
+ module . exports = generate ;
0 commit comments