Skip to content
This repository has been archived by the owner on Jan 19, 2021. It is now read-only.

Commit

Permalink
Add test
Browse files Browse the repository at this point in the history
  • Loading branch information
jvanbruegge committed Aug 4, 2017
1 parent 25e8619 commit 4d90038
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
12 changes: 12 additions & 0 deletions test/__snapshots__/index.test.js.snap
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,18 @@ exports[`errors 1`] = `Array []`;

exports[`errors 2`] = `Array []`;

exports[`fix webpack paths 1`] = `
"webpackJsonp([0],[
/* 0 */
/***/ (function(module, exports) {
throw new Error(\\"Module parse failed: /home/jan/Dokumente/Programmierprojekte/istanbul-instrumenter-loader/test/utils/loader.js??ref--1!/home/jan/Dokumente/Programmierprojekte/istanbul-instrumenter-loader/node_modules/babel-loader/lib/index.js!/home/jan/Dokumente/Programmierprojekte/istanbul-instrumenter-loader/test/fixtures/basic.js Unterminated string constant (1:3678)\\\\nYou may need an appropriate loader to handle this file type.\\\\n| \\\\\\"use strict\\\\\\";var cov_1v2zerd2hz=function(){var path=\\\\\\"/fixtures/basic.js\\\\\\",hash=\\\\\\"f413708755ce75e2d80eaa677c70f0f16a196e80\\\\\\",global=new Function('return this')(),gcv=\\\\\\"__coverage__\\\\\\",coverageData={path:\\\\\\"/fixtures/basic.js\\\\\\",statementMap:{\\\\\\"0\\\\\\":{start:{line:3,column:19},end:{line:3,column:563}},\\\\\\"1\\\\\\":{start:{line:3,column:76},end:{line:3,column:347}},\\\\\\"2\\\\\\":{start:{line:3,column:134},end:{line:3,column:142}},\\\\\\"3\\\\\\":{start:{line:3,column:144},end:{line:3,column:199}},\\\\\\"4\\\\\\":{start:{line:3,column:200},end:{line:3,column:231}},\\\\\\"5\\\\\\":{start:{line:3,column:232},end:{line:3,column:286}},\\\\\\"6\\\\\\":{start:{line:3,column:259},end:{line:3,column:286}},\\\\\\"7\\\\\\":{start:{line:3,column:287},end:{line:3,column:345}},\\\\\\"8\\\\\\":{start:{line:3,column:350},end:{line:3,column:559}},\\\\\\"9\\\\\\":{start:{line:3,column:407},end:{line:3,column:475}},\\\\\\"10\\\\\\":{start:{line:3,column:423},end:{line:3,column:475}},\\\\\\"11\\\\\\":{start:{line:3,column:476},end:{line:3,column:536}},\\\\\\"12\\\\\\":{start:{line:3,column:493},end:{line:3,column:536}},\\\\\\"13\\\\\\":{start:{line:3,column:537},end:{line:3,column:556}},\\\\\\"14\\\\\\":{start:{line:5,column:50},end:{line:5,column:151}},\\\\\\"15\\\\\\":{start:{line:5,column:92},end:{line:5,column:149}},\\\\\\"16\\\\\\":{start:{line:7,column:0},end:{line:20,column:4}},\\\\\\"17\\\\\\":{start:{line:9,column:4},end:{line:9,column:31}},\\\\\\"18\\\\\\":{start:{line:12,column:2},end:{line:17,column:6}},\\\\\\"19\\\\\\":{start:{line:15,column:6},end:{line:15,column:20}},\\\\\\"20\\\\\\":{start:{line:19,column:2},end:{line:19,column:13}}},fnMap:{\\\\\\"0\\\\\\":{name:\\\\\\"(anonymous_0)\\\\\\",decl:{start:{line:3,column:19},end:{line:3,column:20}},loc:{start:{line:3,column:31},end:{line:3,column:561}},line:3},\\\\\\"1\\\\\\":{name:\\\\\\"defineProperties\\\\\\",decl:{start:{line:3,column:42},end:{line:3,column:58}},loc:{start:{line:3,column:74},end:{line:3,column:349}},line:3},\\\\\\"2\\\\\\":{name:\\\\\\"(anonymous_2)\\\\\\",decl:{start:{line:3,column:357},end:{line:3,column:358}},loc:{start:{line:3,column:405},end:{line:3,column:558}},line:3},\\\\\\"3\\\\\\":{name:\\\\\\"_classCallCheck\\\\\\",decl:{start:{line:5,column:9},end:{line:5,column:24}},loc:{start:{line:5,column:48},end:{line:5,column:153}},line:5},\\\\\\"4\\\\\\":{name:\\\\\\"(anonymous_4)\\\\\\",decl:{start:{line:7,column:17},end:{line:7,column:18}},loc:{start:{line:7,column:29},end:{line:20,column:1}},line:7},\\\\\\"5\\\\\\":{name:\\\\\\"Foo\\\\\\",decl:{start:{line:8,column:11},end:{line:8,column:14}},loc:{start:{line:8,column:17},end:{line:10,column:3}},line:8},\\\\\\"6\\\\\\":{name:\\\\\\"bar\\\\\\",decl:{start:{line:14,column:20},end:{line:14,column:23}},loc:{start:{line:14,column:26},end:{line:16,column:5}},line:14}},branchMap:{\\\\\\"0\\\\\\":{loc:{start:{line:3,column:168},end:{line:3,column:198}},type:\\\\\\"binary-expr\\\\\\",locations:[{start:{line:3,column:168},end:{line:3,column:189}},{start:{line:3,column:193},end:{line:3,column:198}}],line:3},\\\\\\"1\\\\\\":{loc:{start:{line:3,column:232},end:{line:3,column:286}},type:\\\\\\"if\\\\\\",locations:[{start:{line:3,column:232},end:{line:3,column:286}},{start:{line:3,column:232},end:{line:3,column:286}}],line:3},\\\\\\"2\\\\\\":{loc:{start:{line:3,column:407},end:{line:3,column:475}},type:\\\\\\"if\\\\\\",locations:[{start:{line:3,column:407},end:{line:3,column:475}},{start:{line:3,column:407},end:{line:3,column:475}}],line:3},\\\\\\"3\\\\\\":{loc:{start:{line:3,column:476},end:{line:3,column:536}},type:\\\\\\"if\\\\\\",locations:[{start:{line:3,column:476},end:{line:3,column:536}},{start:{line:3,column:476},end:{line:3,column:536}}],line:3},\\\\\\"4\\\\\\":{loc:{start:{line:5,column:50},end:{line:5,column:151}},type:\\\\\\"if\\\\\\",locations:[{start:{line:5,column:50},end:{line:5,column:151}},{start:{line:5,column:50},end:{line:5,column:151}}],line:5}},s:{\\\\\\"0\\\\\\":0,\\\\\\"1\\\\\\":0,\\\\\\"2\\\\\\":0,\\\\\\"3\\\\\\":0,\\\\\\"4\\\\\\":0,\\\\\\"5\\\\\\":0,\\\\\\"6\\\\\\":0,\\\\\\"7\\\\\\":0,\\\\\\"8\\\\\\":0,\\\\\\"9\\\\\\":0,\\\\\\"10\\\\\\":0,\\\\\\"11\\\\\\":0,\\\\\\"12\\\\\\":0,\\\\\\"13\\\\\\":0,\\\\\\"14\\\\\\":0,\\\\\\"15\\\\\\":0,\\\\\\"16\\\\\\":0,\\\\\\"17\\\\\\":0,\\\\\\"18\\\\\\":0,\\\\\\"19\\\\\\":0,\\\\\\"20\\\\\\":0},f:{\\\\\\"0\\\\\\":0,\\\\\\"1\\\\\\":0,\\\\\\"2\\\\\\":0,\\\\\\"3\\\\\\":0,\\\\\\"4\\\\\\":0,\\\\\\"5\\\\\\":0,\\\\\\"6\\\\\\":0},b:{\\\\\\"0\\\\\\":[0,0],\\\\\\"1\\\\\\":[0,0],\\\\\\"2\\\\\\":[0,0],\\\\\\"3\\\\\\":[0,0],\\\\\\"4\\\\\\":[0,0]},inputSourceMap:{version:3,sources:['sources:[\\\\\\"test/fixtures/basic.js\\\\\\"],names:[\\\\\\"module\\\\\\",\\\\\\"exports\\\\\\"],mappings:\\\\\\";;;;;;AAAAA,OAAOC,OAAP;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,0BACQ;AACJ,aAAO,CAAC,CAAC,IAAT;AACD;AAHH;;AAAA;AAAA\\\\\\",file:\\\\\\"basic.js\\\\\\",sourceRoot:\\\\\\"\\\\\\",sourcesContent:[\\\\\\"module.exports = class Foo {\\\\\\\\n bar() {\\\\\\\\n return !!this;\\\\\\\\n }\\\\\\\\n};\\\\\\\\n\\\\\\"]},_coverageSchema:\\\\\\"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c\\\\\\"},coverage=global[gcv]||(global[gcv]={});if(coverage[path]&&coverage[path].hash===hash){return coverage[path];}coverageData.hash=hash;return coverage[path]=coverageData;}();var _createClass=(++cov_1v2zerd2hz.s[0],function(){++cov_1v2zerd2hz.f[0];function defineProperties(target,props){++cov_1v2zerd2hz.f[1];++cov_1v2zerd2hz.s[1];for(var i=0;i<props.length;i++){var descriptor=(++cov_1v2zerd2hz.s[2],props[i]);++cov_1v2zerd2hz.s[3];descriptor.enumerable=(++cov_1v2zerd2hz.b[0][0],descriptor.enumerable)||(++cov_1v2zerd2hz.b[0][1],false);++cov_1v2zerd2hz.s[4];descriptor.configurable=true;++cov_1v2zerd2hz.s[5];if(\\\\\\"value\\\\\\"in descriptor){++cov_1v2zerd2hz.b[1][0];++cov_1v2zerd2hz.s[6];descriptor.writable=true;}else{++cov_1v2zerd2hz.b[1][1];}++cov_1v2zerd2hz.s[7];Object.defineProperty(target,descriptor.key,descriptor);}}++cov_1v2zerd2hz.s[8];return function(Constructor,protoProps,staticProps){++cov_1v2zerd2hz.f[2];++cov_1v2zerd2hz.s[9];if(protoProps){++cov_1v2zerd2hz.b[2][0];++cov_1v2zerd2hz.s[10];defineProperties(Constructor.prototype,protoProps);}else{++cov_1v2zerd2hz.b[2][1];}++cov_1v2zerd2hz.s[11];if(staticProps){++cov_1v2zerd2hz.b[3][0];++cov_1v2zerd2hz.s[12];defineProperties(Constructor,staticProps);}else{++cov_1v2zerd2hz.b[3][1];}++cov_1v2zerd2hz.s[13];return Constructor;};}());function _classCallCheck(instance,Constructor){++cov_1v2zerd2hz.f[3];++cov_1v2zerd2hz.s[14];if(!(instance instanceof Constructor)){++cov_1v2zerd2hz.b[4][0];++cov_1v2zerd2hz.s[15];throw new TypeError(\\\\\\"Cannot call a class as a function\\\\\\");}else{++cov_1v2zerd2hz.b[4][1];}}++cov_1v2zerd2hz.s[16];module.exports=function(){++cov_1v2zerd2hz.f[4];function Foo(){++cov_1v2zerd2hz.f[5];++cov_1v2zerd2hz.s[17];_classCallCheck(this,Foo);}++cov_1v2zerd2hz.s[18];_createClass(Foo,[{key:\\\\\\"bar\\\\\\",value:function bar(){++cov_1v2zerd2hz.f[6];++cov_1v2zerd2hz.s[19];return!!this;}}]);++cov_1v2zerd2hz.s[20];return Foo;}();\\");
/***/ })
],[0]);
//# sourceMappingURL=main.js.map"
`;

exports[`instrument code 1`] = `
"webpackJsonp([0],[
/* 0 */
Expand Down
13 changes: 13 additions & 0 deletions test/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,16 @@ test('disabled sourcemaps', async () => {
expect(stats.compilation.errors).toMatchSnapshot('errors');
expect(stats.compilation.warnings).toMatchSnapshot('warnings');
});

test('fix webpack paths', async () => {
const stats = await webpack({
extend: {
devtool: 'source-map',
},
options: {
fixWebpackSourcePaths: true,
},
});
const instrumentedSource = stats.compilation.assets['main.js'].source();
expect(instrumentedSource).toMatchSnapshot();
});

0 comments on commit 4d90038

Please sign in to comment.