From 8a320d53a5f3865712138d92872a3f08366e443f Mon Sep 17 00:00:00 2001 From: Chad Hietala Date: Tue, 9 Jun 2015 14:01:02 -0700 Subject: [PATCH] Metadata object does not take in account resolveModuleSource() This adds a failing test to illustrate the metadata object not reflecting what is returned from resolveModuleSource(). I might also not understand resolveModuleSource's purpose. However, this was the hook mentioned here https://github.com/babel/babel/issues/1602. --- test/core/api.js | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/test/core/api.js b/test/core/api.js index 10ab1c3047..e2c3c16ee0 100644 --- a/test/core/api.js +++ b/test/core/api.js @@ -49,22 +49,40 @@ suite("api", function () { }); assert.deepEqual(transform('import localName3 from "external";').metadata.modules.imports[0], { - source: 'external', - imported: ['default'], + source: "external", + imported: ["default"], specifiers: [{ - kind: 'named', - imported: 'default', - local: 'localName3' + kind: "named", + imported: "default", + local: "localName3" }] }); + assert.deepEqual(transform('import localName from "./array";', { + resolveModuleSource: function() { + return 'override-source'; + } + }).metadata.modules.imports, [ + { + source: "override-source", + imported: ["default"], + specifiers: [ + { + "kind": "named", + "imported": "default", + "local": "localName" + } + ] + } + ]); + assert.deepEqual(transform('export * as externalName1 from "external";', { stage: 0 }).metadata.modules.exports, { exported: ['externalName1'], specifiers: [{ - kind: 'external-namespace', - exported: 'externalName1', + kind: "external-namespace", + exported: "externalName1", source: "external", }] });