Deven Bansod 8b57a3e3b9 Migrate a few packages' tests to use Jest Expect (see below)
* Migrate the following packages' tests:
    * babel-helper-annotate-as-pure
    * babel-helper-module-imports
    * babel-helper-transform-fixture-test-runner
    * babel-highlight
    * babel-node
    * babel-plugin-transform-modules-commonjs
    * babel-preset-env-standalone
    * babel-preset-env
    * babel-preset-es2015
    * babel-preset-react
    * babel-standalone
    * babel-template
    * babel-traverse
    * babel-types
2018-03-24 16:22:10 +05:30

31 lines
683 B
JavaScript

const babel = require("@babel/core");
const vm = require("vm");
test("Re-export doesn't overwrite __esModule flag", function() {
let code = 'export * from "./dep";';
const depStub = {
__esModule: false,
};
const context = {
module: {
exports: {},
},
require: function(id) {
if (id === "./dep") return depStub;
return require(id);
},
};
context.exports = context.module.exports;
code = babel.transform(code, {
plugins: [[require("../"), { loose: true }]],
ast: false,
}).code;
vm.runInNewContext(code, context);
// exports.__esModule shouldn't be overwritten.
expect(context.exports.__esModule).toBe(true);
});