transform-jest-deps
Advanced tools
Comparing version 2.0.0 to 2.1.0
var _ = require('lodash'); | ||
var acorn = require('acorn-jsx'); | ||
var falafel = require('falafel'); | ||
var defaultOptions = { | ||
ecmaVersion: 6, | ||
ignoreTryCatch: false, | ||
parser: acorn, | ||
plugins: { jsx: true }, | ||
ranges: true | ||
}; | ||
var jestFunctions = ['dontMock', 'genMockFromModule', 'mock', 'setMock']; | ||
@@ -9,0 +14,0 @@ |
{ | ||
"name": "transform-jest-deps", | ||
"version": "2.0.0", | ||
"version": "2.1.0", | ||
"description": "Parse the AST, transforming paths in require() calls and other jest-specific calls", | ||
@@ -26,2 +26,3 @@ "main": "lib/transform.js", | ||
"dependencies": { | ||
"acorn-jsx": "^2.0.0", | ||
"falafel": "^1.2.0", | ||
@@ -28,0 +29,0 @@ "lodash": "^3.10.1" |
@@ -7,3 +7,3 @@ var _ = require('lodash'); | ||
describe('transform-jest-deps module', function() { | ||
var expected, falafel, mappings, src, transform; | ||
var defaultOptions, expected, falafel, mappings, src, transform; | ||
@@ -15,7 +15,3 @@ function replaceDep(dep) { | ||
function verifyFalafel(options) { | ||
options = options ? _.clone(options) : {}; | ||
_.assign(options, { ranges: true }); | ||
if (options.hasOwnProperty('ignoreTryCatch')) { | ||
delete options.ignoreTryCatch; | ||
} | ||
options = _.omit(_.assign({}, defaultOptions, options), 'ignoreTryCatch'); | ||
@@ -30,2 +26,3 @@ expect(falafel).to.be.calledOnce; | ||
transform = rewire('../lib/transform'); | ||
defaultOptions = transform.__get__('defaultOptions'); | ||
falafel = sinon.spy(transform.__get__('falafel')); | ||
@@ -65,5 +62,4 @@ transform.__set__('falafel', falafel); | ||
it('works with newer API', function() { | ||
var options = {}; | ||
var res = transform(src, options, replaceDep); | ||
verifyFalafel(options); | ||
var res = transform(src, replaceDep); | ||
verifyFalafel(); | ||
expect(res).to.eq(expected); | ||
@@ -95,12 +91,11 @@ }); | ||
it('with ignore_trycatch option disabled, replaces all', function() { | ||
it('with ignoreTryCatch=false, replaces all', function() { | ||
expected = "try { require('x') } catch (e) { require('x'); } require('x');"; | ||
var options = {}; | ||
var res = transform(src, options, function() { return 'x'; }); | ||
verifyFalafel(options); | ||
var res = transform(src, function() { return 'x'; }); | ||
verifyFalafel(); | ||
expect(res).to.eq(expected); | ||
}); | ||
it('with ignore_trycatch option enabled, replaces outside of the try/catch', function() { | ||
it('with ignoreTryCatch=true, replaces outside of the try/catch', function() { | ||
expected = "try { require('a') } catch (e) { require('b'); } require('x');"; | ||
@@ -127,6 +122,5 @@ var options = { ignoreTryCatch: true }; | ||
].join("\n"); | ||
var options = { ecmaVersion: 6 }; | ||
var res = transform(src, options, replaceDep); | ||
verifyFalafel(options); | ||
var res = transform(src, replaceDep); | ||
verifyFalafel(); | ||
expect(res).to.eq(expected); | ||
@@ -136,2 +130,21 @@ }); | ||
describe('with JSX features', function() { | ||
it('replaces deps', function() { | ||
src = [ | ||
"function Thing() {}", | ||
"var thing = (<Thing/>);", | ||
"var fs = require('fs');" | ||
].join("\n"); | ||
expected = [ | ||
"function Thing() {}", | ||
"var thing = (<Thing/>);", | ||
"var fs = require('fsx');" | ||
].join("\n"); | ||
var res = transform(src, replaceDep); | ||
verifyFalafel(); | ||
expect(res).to.eq(expected); | ||
}); | ||
}); | ||
describe('with jest statements that take a module', function() { | ||
@@ -141,6 +154,5 @@ it('replaces in simple statement', function() { | ||
expected = "jest.dontMock('fsx');"; | ||
var options = {}; | ||
var res = transform(src, options, replaceDep); | ||
verifyFalafel(options); | ||
var res = transform(src, replaceDep); | ||
verifyFalafel(); | ||
expect(res).to.eq(expected); | ||
@@ -152,6 +164,5 @@ }); | ||
expected = "jest.dontMock('fsx').dontMock('./path').mock(\"zxcqlw\");"; | ||
var options = {}; | ||
var res = transform(src, options, replaceDep); | ||
verifyFalafel(options); | ||
var res = transform(src, replaceDep); | ||
verifyFalafel(); | ||
expect(res).to.eq(expected); | ||
@@ -163,6 +174,5 @@ }); | ||
expected = "jest.dontMock('fsx').genMockFromModule('./path');"; | ||
var options = {}; | ||
var res = transform(src, options, replaceDep); | ||
verifyFalafel(options); | ||
var res = transform(src, replaceDep); | ||
verifyFalafel(); | ||
expect(res).to.eq(expected); | ||
@@ -174,6 +184,5 @@ }); | ||
expected = "jest.dontMock('fsx').setMock('./path', {});"; | ||
var options = {}; | ||
var res = transform(src, options, replaceDep); | ||
verifyFalafel(options); | ||
var res = transform(src, replaceDep); | ||
verifyFalafel(); | ||
expect(res).to.eq(expected); | ||
@@ -185,6 +194,5 @@ }); | ||
expected = "require.requireActual('fsx');"; | ||
var options = {}; | ||
var res = transform(src, options, replaceDep); | ||
verifyFalafel(options); | ||
var res = transform(src, replaceDep); | ||
verifyFalafel(); | ||
expect(res).to.eq(expected); | ||
@@ -191,0 +199,0 @@ }); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
12265
260
3
+ Addedacorn-jsx@^2.0.0
+ Addedacorn@2.7.0(transitive)
+ Addedacorn-jsx@2.0.1(transitive)