From a913503b6bf6f1b2df2b8f6d42f5a271d869b211 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Norte?= Date: Thu, 21 Feb 2019 17:17:23 +0000 Subject: [PATCH] Added e2e test --- e2e/__tests__/transform.test.js | 15 +++++++++ .../__tests__/babelJest.test.js | 15 +++++++++ e2e/transform/babel-jest-manual/foo.js | 10 ++++++ e2e/transform/babel-jest-manual/package.json | 11 +++++++ .../babel-jest-manual/transformer.js | 13 ++++++++ e2e/transform/babel-jest-manual/yarn.lock | 31 +++++++++++++++++++ 6 files changed, 95 insertions(+) create mode 100644 e2e/transform/babel-jest-manual/__tests__/babelJest.test.js create mode 100644 e2e/transform/babel-jest-manual/foo.js create mode 100644 e2e/transform/babel-jest-manual/package.json create mode 100644 e2e/transform/babel-jest-manual/transformer.js create mode 100644 e2e/transform/babel-jest-manual/yarn.lock diff --git a/e2e/__tests__/transform.test.js b/e2e/__tests__/transform.test.js index c9f12a0c406a..8adc624a0249 100644 --- a/e2e/__tests__/transform.test.js +++ b/e2e/__tests__/transform.test.js @@ -57,6 +57,21 @@ describe('babel-jest ignored', () => { }); }); +describe('babel-jest with manual transformer', () => { + const dir = path.resolve(__dirname, '..', 'transform/babel-jest-manual'); + + beforeEach(() => { + run('yarn', dir); + }); + + it('runs transpiled code', () => { + // --no-cache because babel can cache stuff and result in false green + const {json} = runWithJson(dir, ['--no-cache']); + expect(json.success).toBe(true); + expect(json.numTotalTests).toBeGreaterThanOrEqual(1); + }); +}); + // babel-jest is automatically linked at the root because it is a workspace now // a way to test this in isolation is to move the test suite into a temp folder describe('no babel-jest', () => { diff --git a/e2e/transform/babel-jest-manual/__tests__/babelJest.test.js b/e2e/transform/babel-jest-manual/__tests__/babelJest.test.js new file mode 100644 index 000000000000..49af46513702 --- /dev/null +++ b/e2e/transform/babel-jest-manual/__tests__/babelJest.test.js @@ -0,0 +1,15 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +'use strict'; + +require('../foo'); + +it('strips flowtypes using babel-jest and .babelrc', () => { + const a: string = 'a'; + expect(a).toBe('a'); +}); diff --git a/e2e/transform/babel-jest-manual/foo.js b/e2e/transform/babel-jest-manual/foo.js new file mode 100644 index 000000000000..7e8e2873685b --- /dev/null +++ b/e2e/transform/babel-jest-manual/foo.js @@ -0,0 +1,10 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +const someFunction = (): null => null; + +module.exports = someFunction(); diff --git a/e2e/transform/babel-jest-manual/package.json b/e2e/transform/babel-jest-manual/package.json new file mode 100644 index 000000000000..6f6e06a0b254 --- /dev/null +++ b/e2e/transform/babel-jest-manual/package.json @@ -0,0 +1,11 @@ +{ + "dependencies": { + "@babel/preset-flow": "^7.0.0" + }, + "jest": { + "testEnvironment": "node", + "transform": { + "\\.js$": "/transformer.js" + } + } +} diff --git a/e2e/transform/babel-jest-manual/transformer.js b/e2e/transform/babel-jest-manual/transformer.js new file mode 100644 index 000000000000..597b36bc9ae5 --- /dev/null +++ b/e2e/transform/babel-jest-manual/transformer.js @@ -0,0 +1,13 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +const {createTransformer} = require('babel-jest'); + +module.exports = createTransformer({ + presets: ['@babel/preset-flow'], + root: __dirname, +}); diff --git a/e2e/transform/babel-jest-manual/yarn.lock b/e2e/transform/babel-jest-manual/yarn.lock new file mode 100644 index 000000000000..a698b6900465 --- /dev/null +++ b/e2e/transform/babel-jest-manual/yarn.lock @@ -0,0 +1,31 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/helper-plugin-utils@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" + integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== + +"@babel/plugin-syntax-flow@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.0.0.tgz#70638aeaad9ee426bc532e51523cff8ff02f6f17" + integrity sha512-zGcuZWiWWDa5qTZ6iAnpG0fnX/GOu49pGR5PFvkQ9GmKNaSphXQnlNXh/LG20sqWtNrx/eB6krzfEzcwvUyeFA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-flow-strip-types@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.0.0.tgz#c40ced34c2783985d90d9f9ac77a13e6fb396a01" + integrity sha512-WhXUNb4It5a19RsgKKbQPrjmy4yWOY1KynpEbNw7bnd1QTcrT/EIl3MJvnGgpgvrKyKbqX7nUNOJfkpLOnoDKA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.0.0" + +"@babel/preset-flow@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0.tgz#afd764835d9535ec63d8c7d4caf1c06457263da2" + integrity sha512-bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0"