Skip to content

Commit 3612a81

Browse files
authored
Make api require-able, expose plugin utils (#445)
1 parent f87c274 commit 3612a81

File tree

4 files changed

+24
-5
lines changed

4 files changed

+24
-5
lines changed

api.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
// For require('solidity-coverage/api');
2+
const api = require('./lib/api');
3+
4+
module.exports = api;

lib/api.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ const pify = require('pify');
33
const fs = require('fs');
44
const path = require('path');
55
const istanbul = require('istanbul');
6-
const util = require('util');
76
const assert = require('assert');
87
const detect = require('detect-port');
98
const _ = require('lodash/lang');
@@ -13,6 +12,8 @@ const Instrumenter = require('./instrumenter');
1312
const Coverage = require('./coverage');
1413
const DataCollector = require('./collector');
1514
const AppUI = require('./ui').AppUI;
15+
const utils = require('./../plugins/resources/plugin.utils');
16+
1617

1718
/**
1819
* Coverage Runner
@@ -60,6 +61,7 @@ class API {
6061

6162
this.setLoggingLevel(config.silent);
6263
this.ui = new AppUI(this.log);
64+
this.utils = utils;
6365
}
6466

6567
/**
@@ -175,9 +177,11 @@ class API {
175177
/**
176178
* Generate coverage / write coverage report / run istanbul
177179
*/
178-
async report() {
180+
async report(_folder) {
181+
const folder = _folder || this.istanbulFolder;
182+
179183
const collector = new istanbul.Collector();
180-
const reporter = new istanbul.Reporter(false, this.istanbulFolder);
184+
const reporter = new istanbul.Reporter(false, folder);
181185

182186
return new Promise((resolve, reject) => {
183187
try {

plugins/resources/plugin.utils.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,6 @@ module.exports = {
267267
loadSolcoverJS: loadSolcoverJS,
268268
reportSkipped: reportSkipped,
269269
save: save,
270-
checkContext: checkContext,
271270
toRelativePath: toRelativePath,
272271
setupTempFolders: setupTempFolders
273272
}

test/units/api.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
const assert = require('assert');
22
const util = require('./../util/util.js');
3-
const API = require('./../../lib/api.js');
3+
const API = require('./../../api.js');
44
const detect = require('detect-port');
55
const Ganache = require('ganache-cli');
66

@@ -85,4 +85,16 @@ describe('api', () => {
8585

8686
assert(freePort === port);
8787
})
88+
89+
it('api.utils', async function(){
90+
const api = new API(opts);
91+
assert(api.utils.assembleFiles !== undefined)
92+
assert(api.utils.checkContext !== undefined)
93+
assert(api.utils.finish !== undefined)
94+
assert(api.utils.getTempLocations !== undefined)
95+
assert(api.utils.setupTempFolders !== undefined)
96+
assert(api.utils.loadSource !== undefined)
97+
assert(api.utils.loadSolcoverJS !== undefined)
98+
assert(api.utils.save !== undefined)
99+
});
88100
})

0 commit comments

Comments
 (0)